Ultra Detailed Player Audit - 20261003

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.

20261003_ATL@LAD

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.546692285, "home_win_probability": 0.546692285, "away_win_probability": 0.453307715, "predicted_score_text": "ATL 4 - 5 LAD", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "ATL", "original_runs": 4, "run_delta": -0.3704, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.2558500317038986, "contact": 0.10279450790437787, "power": 0.33023258414037043, "discipline": -0.061532422202231096, "xwoba": 0.31533333333333335, "recent_xwoba": 0.31533333333333335, "barrel": 9.127272727272729, "ab_hard_contact": 0.4021754923312174, "ab_bat_speed": 71.76270845504575, "ab_strikeout_rate": 0.22101177168158065, "available_players": 9, "top_players": [{"player_id": "686948", "player_name": "Drake Baldwin", "position": "DH", "weight": 4.0, "quality": 1.067755924823887, "contact": 1.1854940316627276, "power": 1.3546510532173006, "discipline": 0.06727713762870027, "xwoba": 0.37, "recent_xwoba": 0.37, "barrel": 12.9, "ab_hard_contact": 0.995497254822202, "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.9831297031087539, "contact": 0.8530022677582484, "power": 1.5411991953028064, "discipline": -0.03793479193479189, "xwoba": 0.351, "recent_xwoba": 0.351, "barrel": 14.2, "ab_hard_contact": 1.458841048913274, "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.7294607250020677, "contact": -1.843598515822773, "power": -1.6260931367224813, "discipline": 0.32365678315678337, "xwoba": 0.222, "recent_xwoba": 0.222, "barrel": 2.2, "ab_hard_contact": -0.7344341630210678, "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.7871434366065145, "contact": 0.7192114997607264, "power": 1.0947417743193364, "discipline": 0.1870400894266875, "xwoba": 0.366, "recent_xwoba": 0.366, "barrel": 13.0, "ab_hard_contact": 0.6971212006724454, "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.7025568952112299, "contact": 0.9402252115609542, "power": 0.9333153471044517, "discipline": -0.5114608769608769, "xwoba": 0.342, "recent_xwoba": 0.342, "barrel": 10.3, "ab_hard_contact": 0.8125926563747535, "ab_bat_speed": 73.34894278169014, "ab_strikeout_rate": 0.19970862470862472, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "669373", "player_name": "Tarik Skubal", "quality": 0.8057305036745217, "contact": 0.9621485086257785, "command": 0.7578228733623079, "movement": 0.8149481255993812, "xwoba": 0.266, "whiff": 31.7, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "LAD", "original_runs": 5, "run_delta": 0.2249, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.5827005734377083, "contact": 0.6762740948814864, "power": 0.6223615267206188, "discipline": 0.3441384328894329, "xwoba": 0.3511818181818182, "recent_xwoba": 0.3511818181818182, "barrel": 9.863636363636363, "ab_hard_contact": 0.3234210106028587, "ab_bat_speed": 70.18217410307513, "ab_strikeout_rate": 0.20212663087563087, "available_players": 9, "top_players": [{"player_id": "660271", "player_name": "Shohei Ohtani", "position": "DH", "weight": 4.0, "quality": 1.4511307265651827, "contact": 1.4880526339692746, "power": 1.9443557070911328, "discipline": 0.24233356123981115, "xwoba": 0.397, "recent_xwoba": 0.397, "barrel": 16.4, "ab_hard_contact": 0.988066522775036, "ab_bat_speed": 73.56303624131945, "ab_strikeout_rate": 0.23862847222222222, "available": 1.0}, {"player_id": "669257", "player_name": "Will Smith", "position": "C", "weight": 4.0, "quality": 1.067129067214595, "contact": 1.1538074083668364, "power": 1.0275283976096223, "discipline": 0.9242677170257816, "xwoba": 0.389, "recent_xwoba": 0.389, "barrel": 12.4, "ab_hard_contact": 0.6099965236210222, "ab_bat_speed": 68.76802419354838, "ab_strikeout_rate": 0.18440860215053764, "available": 1.0}, {"player_id": "571970", "player_name": "Max Muncy", "position": "3B", "weight": 3.0, "quality": 0.5677616041948967, "contact": 0.4423636639177735, "power": 0.991286300631285, "discipline": 0.09595004180405639, "xwoba": 0.349, "recent_xwoba": 0.349, "barrel": 12.9, "ab_hard_contact": 0.3636307745304643, "ab_bat_speed": 69.76265878808944, "ab_strikeout_rate": 0.2729405630865485, "available": 1.0}, {"player_id": "518692", "player_name": "Freddie Freeman", "position": "1B", "weight": 4.0, "quality": 0.6846238646246284, "contact": 0.948396344086376, "power": 0.5476474606376515, "discipline": 0.3948812152192435, "xwoba": 0.363, "recent_xwoba": 0.363, "barrel": 8.1, "ab_hard_contact": 0.3125682603720786, "ab_bat_speed": 69.18827654817797, "ab_strikeout_rate": 0.16743796109993292, "available": 1.0}, {"player_id": "605141", "player_name": "Mookie Betts", "position": "SS", "weight": 4.0, "quality": 0.5833424421080954, "contact": 0.7878646391167321, "power": 0.3700288420898362, "discipline": 0.8562347607347607, "xwoba": 0.339, "recent_xwoba": 0.339, "barrel": 7.8, "ab_hard_contact": 0.2550530322729164, "ab_bat_speed": 68.07022756132757, "ab_strikeout_rate": 0.10772727272727273, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "689266", "player_name": "Dylan Dodd", "quality": 0.3118732958256852, "contact": 0.6323832272614132, "command": 0.39796573050516515, "movement": 0.33844378162402344, "xwoba": 0.273, "whiff": 29.5, "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.6096, "recent_form_edge_home_minus_away": 0.314, "pitcher_matchup_edge_home_minus_away": -0.0282, "composite_home_edge": 0.5317, "existing_home_win_probability": 0.5646, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.5317}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.564626, "uncapped_away_win_probability": 0.435374, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.564626, "discount_factor": 0.7225, "published_confidence": 0.546692, "guardrail_confidence_cap": 0.56, "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.546692, "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": "ATL 4 - 5 LAD", "confidence": 0.546692285, "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": "ATL 4 - 5 LAD", "winner": "LAD"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "ATL 4 - 5 LAD", "winner": "LAD"}, "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.0282, "recent_form_edge_home_minus_away": 0.314, "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": "LAD", "model_winner": "LAD", "simulation_winner": "LAD", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 4, "published_winner": "LAD", "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": 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.6096, "winner": "LAD", "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": "LAD", "display_confidence": 0.5467, "internal_signal_score": 0.572, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5467, "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.6096, "winner_recent_form_edge": 0.664, "winner_pitcher_matchup_edge": -0.0282, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 0.25, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.75, "total_runs_spread": {"min": 4, "median": 5, "max": 9, "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 predictionATL 4 - 5 LADLAD0.547enhanced_prediction.pre_simulation_targetTrue
Simulation drawATL 4 - 5 LADLAD-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.5977; empirical=0.5817; weight=0.5000; final=0.5897
P1H2H margin as base featureavailablehome net=-13; abs=13; home delta=-0.0750; away delta=0.0750
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.5802; recent edge=0.6640; 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.8000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5467
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.4675.887-Base ML historical model prediction
2variance_applied46-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5467Enhanced 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.5522584469846277,
  "base_low_score_probability": 0.42569964525029563,
  "low_score_signal_threshold": 0.5056996452502956,
  "low_score_signal_strength": 0.12655880173433204,
  "confidence": 0.7486480000000002,
  "factors": {
    "environmental": 1.05,
    "pitcher_form": 1.1,
    "team_form": 1.08,
    "situational": 1.04,
    "combined": 1.2972960000000004
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.8,
  "low_score_model_expected_total_runs": 6.8,
  "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": 459,
  "near_bucket_sample_size": 459,
  "medium_bucket_sample_size": 1079,
  "wide_bucket_sample_size": 1106,
  "global_sample_size": 1125,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5817,
  "bayesian_hit_rate": 0.5786,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5848,
  "raw_pick_probability_unclamped": 0.5848,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5436,
  "margin_implied_pick_probability": 0.5436,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5663,
  "score_implied_floor_pick_probability": 0.5425,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.584795,
  "uncapped_away_win_probability": 0.415205,
  "calibrated_pick_probability": 0.5646,
  "predicted_side": "home",
  "reliability": 0.962264,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.975472
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.597692,
  "sample_size": 459,
  "empirical_hit_rate": 0.5817,
  "empirical_weight": 0.5,
  "blended_confidence": 0.589696,
  "published_confidence": 0.546692,
  "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": -13.0,
  "absolute_net_margin": 13.0,
  "home_average_margin": -2.6,
  "home_run_delta": -0.075,
  "away_run_delta": 0.075,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -5.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": true,
  "home": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6172839506172839,
    "runs_scored": 801,
    "runs_allowed": 600,
    "run_differential": 201,
    "run_differential_per_game": 1.2407407407407407,
    "available": true
  },
  "away": {
    "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
  },
  "run_differential_edge_per_game": 0.5247,
  "win_pct_edge": 0.037,
  "quality_edge": 0.6096,
  "season_quality_edge": 0.5802,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.5802,
    "recent_quality_edge": 0.664,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.6096
  },
  "margin_adjustment": 0.256,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 0.256,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": 0.6096,
    "season_quality_edge": 0.5802,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 1.861,
    "home_runs": 6.104,
    "home_win_probability": 0.8607
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.020286602876242513
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.019844809488443825
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.019833664882420794
    },
    {
      "home_runs": 5,
      "away_runs": 3,
      "probability": 0.01940173539406224
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.018704375468971954
    }
  ],
  "home_distribution": {
    "0": 0.052919983399183614,
    "1": 0.07836158878234728,
    "2": 0.10459581148303007,
    "3": 0.12584990209090946,
    "4": 0.13649570871625613,
    "5": 0.13344817567938594,
    "6": 0.11760717330278227,
    "7": 0.09342917414207082,
    "8": 0.06690502473180449,
    "9": 0.04318793992986577,
    "10": 0.025130074098572937,
    "11": 0.013181127990904703,
    "12": 0.0062321645628381364,
    "13": 0.002656151090048298
  },
  "away_distribution": {
    "0": 0.06596937904702013,
    "1": 0.0968621198279498,
    "2": 0.12605182833747278,
    "3": 0.1453877903934454,
    "4": 0.14862447374381416,
    "5": 0.13465929312730648,
    "6": 0.10813491363944308,
    "7": 0.07696249740114328,
    "8": 0.04854851753850212,
    "9": 0.02714290963653067,
    "10": 0.013449942744312465,
    "11": 0.005907015046905457,
    "12": 0.0022993195161541756
  },
  "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.56,
  "winner_flipped": false,
  "reasons": [
    "latest same-matchup result beat the predicted side",
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "LAD",
    "opponent_team": "ATL",
    "h2h_net_margin": -3,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-08-27",
        "predicted_team_runs": 0,
        "opponent_runs": 1,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      },
      {
        "date": "2026-08-26",
        "predicted_team_runs": 5,
        "opponent_runs": 6,
        "margin_for_predicted_team": -1,
        "winner": "ATL"
      },
      {
        "date": "2026-08-25",
        "predicted_team_runs": 3,
        "opponent_runs": 4,
        "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": 3,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260827",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "ATL",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.560841,
          "artifact": "20260827_LAD@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260826",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.5486690000000001,
          "artifact": "20260826_LAD@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260825",
          "away": "LAD",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "LAD",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.5545089999999999,
          "artifact": "20260825_LAD@ATL.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "LAD",
    "guardrail_opponent_team": "ATL",
    "output_pre_simulation_winner": "LAD",
    "output_opponent_team": "ATL",
    "simulation_score_winner": "LAD",
    "final_score_winner": "LAD",
    "pre_simulation_winner": "LAD",
    "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": 4,
      "home_runs": 5,
      "score_text": "ATL 4 - 5 LAD",
      "winner": "LAD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "ATL 4 - 5 LAD",
      "winner": "LAD"
    },
    "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.0282,
      "recent_form_edge_home_minus_away": 0.314,
      "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": "LAD",
      "model_winner": "LAD",
      "simulation_winner": "LAD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 4,
        "published_winner": "LAD",
        "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": 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.6096,
      "winner": "LAD",
      "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": "LAD",
      "games": 162,
      "wins": 100,
      "losses": 62,
      "win_pct": 0.6172839506172839,
      "runs_scored": 801,
      "runs_allowed": 600,
      "run_differential": 201,
      "run_differential_per_game": 1.2407407407407407,
      "available": true
    },
    "away": {
      "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
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.6,
  "final_margin": 0.6,
  "margin_cap": 1.5,
  "season_quality_edge": 0.6096,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.56,
  "final_confidence": 0.5646,
  "calibrated_pick_probability": 0.5646,
  "shrinkage_weight": 0.975472,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.6,
  "calibration_sample_size": 459,
  "calibration_empirical_hit_rate": 0.5817,
  "calibration_bayesian_hit_rate": 0.5786,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.6096,
  "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.564626,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.975472,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.564626,
    "aligned_pick_probability": 0.564626
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 26,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "ATL 4 - 5 LAD",
    "winner": "LAD"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "ATL 4 - 5 LAD",
    "winner": "LAD"
  },
  "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.0282,
    "recent_form_edge_home_minus_away": 0.314,
    "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": "LAD",
    "model_winner": "LAD",
    "simulation_winner": "LAD",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 4,
      "published_winner": "LAD",
      "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": 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.6096,
    "winner": "LAD",
    "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.546692285,
  "home_win_probability": 0.546692285,
  "away_win_probability": 0.453307715,
  "predicted_score_text": "ATL 4 - 5 LAD",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "ATL",
      "original_runs": 4,
      "run_delta": -0.3704,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.2558500317038986,
        "contact": 0.10279450790437787,
        "power": 0.33023258414037043,
        "discipline": -0.061532422202231096,
        "xwoba": 0.31533333333333335,
        "recent_xwoba": 0.31533333333333335,
        "barrel": 9.127272727272729,
        "ab_hard_contact": 0.4021754923312174,
        "ab_bat_speed": 71.76270845504575,
        "ab_strikeout_rate": 0.22101177168158065,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "686948",
            "player_name": "Drake Baldwin",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.067755924823887,
            "contact": 1.1854940316627276,
            "power": 1.3546510532173006,
            "discipline": 0.06727713762870027,
            "xwoba": 0.37,
            "recent_xwoba": 0.37,
            "barrel": 12.9,
            "ab_hard_contact": 0.995497254822202,
            "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.9831297031087539,
            "contact": 0.8530022677582484,
            "power": 1.5411991953028064,
            "discipline": -0.03793479193479189,
            "xwoba": 0.351,
            "recent_xwoba": 0.351,
            "barrel": 14.2,
            "ab_hard_contact": 1.458841048913274,
            "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.7294607250020677,
            "contact": -1.843598515822773,
            "power": -1.6260931367224813,
            "discipline": 0.32365678315678337,
            "xwoba": 0.222,
            "recent_xwoba": 0.222,
            "barrel": 2.2,
            "ab_hard_contact": -0.7344341630210678,
            "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.7871434366065145,
            "contact": 0.7192114997607264,
            "power": 1.0947417743193364,
            "discipline": 0.1870400894266875,
            "xwoba": 0.366,
            "recent_xwoba": 0.366,
            "barrel": 13.0,
            "ab_hard_contact": 0.6971212006724454,
            "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.7025568952112299,
            "contact": 0.9402252115609542,
            "power": 0.9333153471044517,
            "discipline": -0.5114608769608769,
            "xwoba": 0.342,
            "recent_xwoba": 0.342,
            "barrel": 10.3,
            "ab_hard_contact": 0.8125926563747535,
            "ab_bat_speed": 73.34894278169014,
            "ab_strikeout_rate": 0.19970862470862472,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "669373",
        "player_name": "Tarik Skubal",
        "quality": 0.8057305036745217,
        "contact": 0.9621485086257785,
        "command": 0.7578228733623079,
        "movement": 0.8149481255993812,
        "xwoba": 0.266,
        "whiff": 31.7,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "LAD",
      "original_runs": 5,
      "run_delta": 0.2249,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.5827005734377083,
        "contact": 0.6762740948814864,
        "power": 0.6223615267206188,
        "discipline": 0.3441384328894329,
        "xwoba": 0.3511818181818182,
        "recent_xwoba": 0.3511818181818182,
        "barrel": 9.863636363636363,
        "ab_hard_contact": 0.3234210106028587,
        "ab_bat_speed": 70.18217410307513,
        "ab_strikeout_rate": 0.20212663087563087,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "660271",
            "player_name": "Shohei Ohtani",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.4511307265651827,
            "contact": 1.4880526339692746,
            "power": 1.9443557070911328,
            "discipline": 0.24233356123981115,
            "xwoba": 0.397,
            "recent_xwoba": 0.397,
            "barrel": 16.4,
            "ab_hard_contact": 0.988066522775036,
            "ab_bat_speed": 73.56303624131945,
            "ab_strikeout_rate": 0.23862847222222222,
            "available": 1.0
          },
          {
            "player_id": "669257",
            "player_name": "Will Smith",
            "position": "C",
            "weight": 4.0,
            "quality": 1.067129067214595,
            "contact": 1.1538074083668364,
            "power": 1.0275283976096223,
            "discipline": 0.9242677170257816,
            "xwoba": 0.389,
            "recent_xwoba": 0.389,
            "barrel": 12.4,
            "ab_hard_contact": 0.6099965236210222,
            "ab_bat_speed": 68.76802419354838,
            "ab_strikeout_rate": 0.18440860215053764,
            "available": 1.0
          },
          {
            "player_id": "571970",
            "player_name": "Max Muncy",
            "position": "3B",
            "weight": 3.0,
            "quality": 0.5677616041948967,
            "contact": 0.4423636639177735,
            "power": 0.991286300631285,
            "discipline": 0.09595004180405639,
            "xwoba": 0.349,
            "recent_xwoba": 0.349,
            "barrel": 12.9,
            "ab_hard_contact": 0.3636307745304643,
            "ab_bat_speed": 69.76265878808944,
            "ab_strikeout_rate": 0.2729405630865485,
            "available": 1.0
          },
          {
            "player_id": "518692",
            "player_name": "Freddie Freeman",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.6846238646246284,
            "contact": 0.948396344086376,
            "power": 0.5476474606376515,
            "discipline": 0.3948812152192435,
            "xwoba": 0.363,
            "recent_xwoba": 0.363,
            "barrel": 8.1,
            "ab_hard_contact": 0.3125682603720786,
            "ab_bat_speed": 69.18827654817797,
            "ab_strikeout_rate": 0.16743796109993292,
            "available": 1.0
          },
          {
            "player_id": "605141",
            "player_name": "Mookie Betts",
            "position": "SS",
            "weight": 4.0,
            "quality": 0.5833424421080954,
            "contact": 0.7878646391167321,
            "power": 0.3700288420898362,
            "discipline": 0.8562347607347607,
            "xwoba": 0.339,
            "recent_xwoba": 0.339,
            "barrel": 7.8,
            "ab_hard_contact": 0.2550530322729164,
            "ab_bat_speed": 68.07022756132757,
            "ab_strikeout_rate": 0.10772727272727273,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "689266",
        "player_name": "Dylan Dodd",
        "quality": 0.3118732958256852,
        "contact": 0.6323832272614132,
        "command": 0.39796573050516515,
        "movement": 0.33844378162402344,
        "xwoba": 0.273,
        "whiff": 29.5,
        "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.6096,
      "recent_form_edge_home_minus_away": 0.314,
      "pitcher_matchup_edge_home_minus_away": -0.0282,
      "composite_home_edge": 0.5317,
      "existing_home_win_probability": 0.5646,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.5317
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.564626,
  "uncapped_away_win_probability": 0.435374,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.564626,
    "discount_factor": 0.7225,
    "published_confidence": 0.546692,
    "guardrail_confidence_cap": 0.56,
    "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.546692,
    "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": "ATL 4 - 5 LAD",
    "confidence": 0.546692285,
    "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": "ATL 4 - 5 LAD",
      "winner": "LAD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "ATL 4 - 5 LAD",
      "winner": "LAD"
    },
    "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.0282,
      "recent_form_edge_home_minus_away": 0.314,
      "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": "LAD",
      "model_winner": "LAD",
      "simulation_winner": "LAD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 4,
        "published_winner": "LAD",
        "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": 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.6096,
      "winner": "LAD",
      "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": "LAD",
    "display_confidence": 0.5467,
    "internal_signal_score": 0.572,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5467,
    "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.6096,
      "winner_recent_form_edge": 0.664,
      "winner_pitcher_matchup_edge": -0.0282,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 0.25,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.75,
      "total_runs_spread": {
        "min": 4,
        "median": 5,
        "max": 9,
        "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 ATLTrue1.03041.0304190
Home LADTrue1.06731.0673190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHDrake Baldwin-1.10931.4576neutral0.37000.27900.505012.9050.6091.501124.4021.508.900.3429
2BOzzie Albies-0.9552-0.5967neutral0.27300.22100.33703.8027.7087.1017.8021.2015.406.70-0.7143
CFMichael Harris II-1.07020.9360neutral0.34200.29000.477010.3047.6090.501024.6019.203.70-0.2000
1BMatt Olson-1.08991.1980neutral0.35100.24700.503014.205292.5018.1025.4024.509.200
RFRonald Acuña Jr.-1.09461.2607neutral0.36600.26100.49501343.5089.6015.70292211.300.5143
LFMauricio Dubón-0.9974-0.0343neutral0.30400.26800.3750429.4086.5016.1015.3011.805.70-0.3714
CSean Murphy-0.9903-0.1298neutral0.27300.20600.33208.2041.1087.805.6031.9030.609.100.6000
3BAustin Riley-1.02390.3191neutral0.29900.21300.396012.4044.3091.3018.5031.9031.907.600.2571
SSHa-Seong Kim-0.9432-0.7574positive_batter_regression0.22200.15700.20602.202585.9019.9020.2025.9010.901.2000

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHShohei Ohtani-1.14011.8682neutral0.39700.28600.552016.4052.1093.3012.3031.7024.6013.100.5714
LFTeoscar Hernández-1.05220.6961neutral0.33200.25600.437010.7044.8090.3013.9032.6027.508.600
SSMookie Betts-1.05920.7895neutral0.33900.27800.43507.803890.2017.9012.50118.900.0286
CWill Smith-1.12361.6486positive_batter_regression0.38900.27900.502012.4041.2089.1020.1016.7016.3012.301.2571
1BFreddie Freeman-1.08461.1277neutral0.36300.29000.46308.1041.3089.5012.2023.2017.70100.4286
3BMax Muncy-1.06930.9236neutral0.34900.24200.470012.9045.8089.9017.5029.202511.60-0.3429
RFKyle Tucker-1.03580.4771neutral0.33100.25600.39306.4036.3088.5018.1020.8016.7012.400.3714
2BTommy Edman-0.9855-0.1936neutral0.30300.24000.34705.303287.3013.102320.206.60-0.4857
CFAndy Pages-1.05500.7337neutral0.34300.27400.44207.9042.3088.9015.7022.1019.708.50-0.2571
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0673,
    "raw_average_factor": 1.0673,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "660271",
        "player_name": "Shohei Ohtani",
        "offense_factor": 1.1401,
        "quality_score": 1.8682,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "660271",
          "espn_rank": null
        },
        "metrics": {
          "pa": 571.0,
          "k_percent": 24.6,
          "bb_percent": 13.1,
          "woba": 0.377,
          "xwoba": 0.397,
          "xba": 0.286,
          "xslg": 0.552,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 16.4,
          "hard_hit_percent": 52.1,
          "exit_velocity_avg": 93.3,
          "launch_angle_avg": 12.3,
          "whiff_percent": 31.7,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": 2.0793,
          "regression_edge": 0.5714,
          "xwoba_edge": 2.5,
          "xba_edge": 1.4286,
          "xslg_edge": 2.5,
          "barrel_edge": 2.1778,
          "hard_hit_edge": 2.0714,
          "exit_velocity_edge": 1.96,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "606192",
        "player_name": "Teoscar Hernández",
        "offense_factor": 1.0522,
        "quality_score": 0.6961,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "606192",
          "espn_rank": null
        },
        "metrics": {
          "pa": 443.0,
          "k_percent": 27.5,
          "bb_percent": 8.6,
          "woba": 0.332,
          "xwoba": 0.332,
          "xba": 0.256,
          "xslg": 0.437,
          "sweet_spot_percent": 33.5,
          "barrel_batted_rate": 10.7,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 13.9,
          "whiff_percent": 32.6,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": 0.8094,
          "regression_edge": 0.0,
          "xwoba_edge": 0.9429,
          "xba_edge": 0.5714,
          "xslg_edge": 1.0571,
          "barrel_edge": 0.9111,
          "hard_hit_edge": 1.0286,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "605141",
        "player_name": "Mookie Betts",
        "offense_factor": 1.0592,
        "quality_score": 0.7895,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "605141",
          "espn_rank": null
        },
        "metrics": {
          "pa": 475.0,
          "k_percent": 11.0,
          "bb_percent": 8.9,
          "woba": 0.338,
          "xwoba": 0.339,
          "xba": 0.278,
          "xslg": 0.435,
          "sweet_spot_percent": 40.4,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 38.0,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 17.9,
          "whiff_percent": 12.5,
          "swing_percent": 41.3
        },
        "components": {
          "expected_quality": 0.9134,
          "regression_edge": 0.0286,
          "xwoba_edge": 1.1429,
          "xba_edge": 1.2,
          "xslg_edge": 1.0286,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.0571,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": 1.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669257",
        "player_name": "Will Smith",
        "offense_factor": 1.1236,
        "quality_score": 1.6486,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669257",
          "espn_rank": null
        },
        "metrics": {
          "pa": 242.0,
          "k_percent": 16.3,
          "bb_percent": 12.3,
          "woba": 0.345,
          "xwoba": 0.389,
          "xba": 0.279,
          "xslg": 0.502,
          "sweet_spot_percent": 43.3,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 41.2,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 20.1,
          "whiff_percent": 16.7,
          "swing_percent": 41.6
        },
        "components": {
          "expected_quality": 1.7123,
          "regression_edge": 1.2571,
          "xwoba_edge": 2.5,
          "xba_edge": 1.2286,
          "xslg_edge": 1.9857,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 0.5143,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": 1.6667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "518692",
        "player_name": "Freddie Freeman",
        "offense_factor": 1.0846,
        "quality_score": 1.1277,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "518692",
          "espn_rank": null
        },
        "metrics": {
          "pa": 607.0,
          "k_percent": 17.7,
          "bb_percent": 10.0,
          "woba": 0.348,
          "xwoba": 0.363,
          "xba": 0.29,
          "xslg": 0.463,
          "sweet_spot_percent": 38.7,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 41.3,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 12.2,
          "whiff_percent": 23.2,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 1.2415,
          "regression_edge": 0.4286,
          "xwoba_edge": 1.8286,
          "xba_edge": 1.5429,
          "xslg_edge": 1.4286,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 0.5286,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.9,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "571970",
        "player_name": "Max Muncy",
        "offense_factor": 1.0693,
        "quality_score": 0.9236,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "571970",
          "espn_rank": null
        },
        "metrics": {
          "pa": 519.0,
          "k_percent": 25.0,
          "bb_percent": 11.6,
          "woba": 0.361,
          "xwoba": 0.349,
          "xba": 0.242,
          "xslg": 0.47,
          "sweet_spot_percent": 35.8,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 45.8,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 17.5,
          "whiff_percent": 29.2,
          "swing_percent": 44.9
        },
        "components": {
          "expected_quality": 1.1298,
          "regression_edge": -0.3429,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.1714,
          "xslg_edge": 1.5286,
          "barrel_edge": 1.4,
          "hard_hit_edge": 1.1714,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": 0.4167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "663656",
        "player_name": "Kyle Tucker",
        "offense_factor": 1.0358,
        "quality_score": 0.4771,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663656",
          "espn_rank": null
        },
        "metrics": {
          "pa": 576.0,
          "k_percent": 16.7,
          "bb_percent": 12.4,
          "woba": 0.318,
          "xwoba": 0.331,
          "xba": 0.256,
          "xslg": 0.393,
          "sweet_spot_percent": 34.2,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 36.3,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 18.1,
          "whiff_percent": 20.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": 0.4943,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.9143,
          "xba_edge": 0.5714,
          "xslg_edge": 0.4286,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.1857,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": 0.15,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "669242",
        "player_name": "Tommy Edman",
        "offense_factor": 0.9855,
        "quality_score": -0.1936,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669242",
          "espn_rank": null
        },
        "metrics": {
          "pa": 292.0,
          "k_percent": 20.2,
          "bb_percent": 6.6,
          "woba": 0.32,
          "xwoba": 0.303,
          "xba": 0.24,
          "xslg": 0.347,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 13.1,
          "whiff_percent": 23.0,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": -0.146,
          "regression_edge": -0.4857,
          "xwoba_edge": 0.1143,
          "xba_edge": 0.1143,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.2889,
          "hard_hit_edge": -0.8,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "681624",
        "player_name": "Andy Pages",
        "offense_factor": 1.055,
        "quality_score": 0.7337,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "681624",
          "espn_rank": null
        },
        "metrics": {
          "pa": 544.0,
          "k_percent": 19.7,
          "bb_percent": 8.5,
          "woba": 0.352,
          "xwoba": 0.343,
          "xba": 0.274,
          "xslg": 0.442,
          "sweet_spot_percent": 37.4,
          "barrel_batted_rate": 7.9,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 15.7,
          "whiff_percent": 22.1,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": 0.895,
          "regression_edge": -0.2571,
          "xwoba_edge": 1.2571,
          "xba_edge": 1.0857,
          "xslg_edge": 1.1286,
          "barrel_edge": 0.2889,
          "hard_hit_edge": 0.6714,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.6833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0304,
    "raw_average_factor": 1.0304,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "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": "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": "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": "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": "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": "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": "C",
        "player_id": "669221",
        "player_name": "Sean Murphy",
        "offense_factor": 0.9903,
        "quality_score": -0.1298,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669221",
          "espn_rank": null
        },
        "metrics": {
          "pa": 96.0,
          "k_percent": 30.6,
          "bb_percent": 9.1,
          "woba": 0.252,
          "xwoba": 0.273,
          "xba": 0.206,
          "xslg": 0.332,
          "sweet_spot_percent": 26.0,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 41.1,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 5.6,
          "whiff_percent": 31.9,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": -0.433,
          "regression_edge": 0.6,
          "xwoba_edge": -0.7429,
          "xba_edge": -0.8571,
          "xslg_edge": -0.4429,
          "barrel_edge": 0.3556,
          "hard_hit_edge": 0.5,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -1.2167,
          "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
        }
      },
      {
        "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
        }
      }
    ],
    "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 ATLTrue-0.28710.67200.97561.03650.97310.9948neutral0.27300.260027.307.2029.508.9037.10
Home LADTrue-0.762210.93521.08230.90400.9340neutral0.26600.2640304.4031.706.7034.80

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away ATLTrueNone1390.702143000000000.0466
Home LADTrueNone9292.632173000000000.1550
Run FactorValue
away_runs_vs_home_pitcher0.9610
home_runs_vs_away_pitcher0.9939
home_pitcher_starter_only_factor0.9352
away_pitcher_starter_only_factor0.9836
home_pitcher_workload_share0.7037
away_pitcher_workload_share0.6296
home_pitcher_quality_edge0.3556
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "669373",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 569.0,
      "k_percent": 30.0,
      "bb_percent": 4.4,
      "woba": 0.264,
      "xwoba": 0.266,
      "sweet_spot_percent": 34.6,
      "barrel_batted_rate": 6.7,
      "hard_hit_percent": 34.8,
      "avg_best_speed": 75.3556,
      "avg_hyper_speed": 93.4848,
      "whiff_percent": 31.7,
      "swing_percent": 53.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.851,
      "command_and_miss": 1.0729,
      "regression_edge": -0.0571,
      "xwoba_edge": 1.3143,
      "barrel_edge": 0.1111,
      "hard_hit_edge": 0.4429,
      "whiff_edge": 0.9286,
      "bb_edge": 1.2,
      "pitch_design_score": 0.155
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "669373",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 92,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 92,
        "pitch_usage": 0.0,
        "release_speed": 92.63147798168428,
        "release_spin_rate": 2173.3742821287633,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 92.63147798168428,
          "release_spin_rate": 2173.3742821287633,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.6315,
        "release_spin_rate": 2173.3743,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.155,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.1069,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.7622,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9352,
    "strikeout_factor": 1.0823,
    "walk_factor": 0.904,
    "homer_factor": 0.934,
    "woba_minus_xwoba": -0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "669373",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "689266",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 168.0,
      "k_percent": 27.3,
      "bb_percent": 7.2,
      "woba": 0.26,
      "xwoba": 0.273,
      "sweet_spot_percent": 37.9,
      "barrel_batted_rate": 8.9,
      "hard_hit_percent": 37.1,
      "avg_best_speed": 80.0941,
      "avg_hyper_speed": 93.4986,
      "whiff_percent": 29.5,
      "swing_percent": 54.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.5212,
      "command_and_miss": 0.6493,
      "regression_edge": -0.3714,
      "xwoba_edge": 1.1143,
      "barrel_edge": -0.3778,
      "hard_hit_edge": 0.1143,
      "whiff_edge": 0.6143,
      "bb_edge": 0.5,
      "pitch_design_score": 0.0466
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "689266",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 13,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 13,
        "pitch_usage": 0.0,
        "release_speed": 90.69542798085439,
        "release_spin_rate": 2142.6259128208435,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 90.69542798085439,
          "release_spin_rate": 2142.6259128208435,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.6954,
        "release_spin_rate": 2142.6259,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0466,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.3325,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.2871,
    "sample_weight": 0.672,
    "run_prevention_factor": 0.9756,
    "strikeout_factor": 1.0365,
    "walk_factor": 0.9731,
    "homer_factor": 0.9948,
    "woba_minus_xwoba": -0.013,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "689266",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.961,
    "home_runs_vs_away_pitcher": 0.9939,
    "home_pitcher_starter_only_factor": 0.9352,
    "away_pitcher_starter_only_factor": 0.9836,
    "home_pitcher_workload_share": 0.7037,
    "away_pitcher_workload_share": 0.6296,
    "home_pitcher_quality_edge": 0.3556
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 6.0
  },
  "score_after": {
    "away_runs": 1.9219,
    "home_runs": 5.9631,
    "home_win_probability": 0.8499
  },
  "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 ATL5-50.50043.9011Laverageaverage
Home LAD8-20.80052.20283Waveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away ATL94-680.5801160.716True
Home LAD100-620.6172011.241True
Signal--0.5250.610applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-27LAD @ ATL0 - 1ATL1close
2026-08-26LAD @ ATL5 - 6ATL1close
2026-08-25LAD @ ATL3 - 4ATL1close
2026-05-10ATL @ LAD7 - 2ATL5blowout
2026-05-09ATL @ LAD7 - 2ATL5blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target ATL--4----
Game target LAD--5----
Player finalized ATL338414210
Player finalized LAD33751438
Player model fractional ATL33.807.364.061.334.242.509.32
Player model fractional LAD34.588.344.891.494.893.508.07
Simulation box ATL36941439
Simulation box LAD30652559

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 ATLStarterDylan Dodd5.2037334.641.04True
Away ATLSetup ManDidier Fuentes111114.251.44True
Away ATLCloserRaisel Iglesias1.1011101.880.91True
Home LADStarterTarik Skubal6.1017512.821.09True
Home LADSetup ManJustin Wrobleski1.1001103.771.29True
Home LADCloserTanner Scott120112.711.10True
Home LADMiddle Reliever (High Leverage)Evan Phillips0.1011213.770.96True
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
awayATLbatterSSHa-Seong Kimbetter105564predicted_H2.7600boostbetter
awayATLpitcherStarterDylan Doddbetter51441predicted_ER-2.0000deboostbetter
homeLADpitcherStarterTarik Skubalneutral21111predicted_SO2.0000boostbetter
homeLADpitcherCloserTanner Scottworse10101predicted_SO-2.0000deboostworse
homeLADbatterLFTeoscar Hernándezworse104637predicted_SO1.9190boostworse
homeLADbatter2BTommy Edmanworse103728predicted_AB-1.8000deboostworse
awayATLbatterRFRonald Acuña Jr.worse105546predicted_RBI1.5400boostbetter
homeLADbatterSSMookie Bettsworse104637predicted_AB-1.5400deboostworse
homeLADbatterCWill Smithbetter85362predicted_RBI1.3900boostbetter
awayATLbatter1BMatt Olsonbetter117483predicted_RBI1.2300boostbetter
homeLADbatterDHShohei Ohtaniworse112938predicted_SO-1.1270deboostbetter
awayATLbatterDHDrake Baldwinworse11110011predicted_H-1.1140deboostworse
homeLADbatter1BFreddie Freemanbetter117483predicted_H1.0700boostbetter
homeLADbatter3BMax Muncyworse113829predicted_SO1.0480boostworse
awayATLpitcherSetup ManDidier Fuentesworse33003predicted_ER1.0000boostworse
awayATLpitcherCloserRaisel Iglesiasworse33012predicted_ER1.0000boostworse
awayATLbatterCFMichael Harris IIworse1129110predicted_RBI-0.9900deboostworse
homeLADbatterCFAndy Pagesbetter116574predicted_RBI0.9900boostbetter
awayATLbatterLFMauricio Dubónworse114738predicted_3B0.9810boostbetter
awayATLbatterCSean Murphyworse102819predicted_SO0.9120boostworse
homeLADbatterRFKyle Tuckerworse115647predicted_H-0.8700deboostworse
awayATLbatter3BAustin Rileyworse1111029predicted_H-0.7500deboostworse
awayATLbatter2BOzzie Albiesworse102837predicted_BB0.7010boostbetter
homeLADpitcherSetup ManJustin Wrobleskiworse10101predicted_IP-0.2333deboostworse
homeLADpitcherMiddle Reliever (High Leverage)Evan Phillipsworse10101predicted_IP-0.2333deboostworse

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

Away Team: ATL

Away Pitcher Deep Analysis

FieldValue
PitcherDylan Dodd
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2871
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0466
Avg Velo90.6954
Avg Spin2142.6259
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H3
Pre BB3
Pre SO7
Season ERA2.6821
Season WHIP0.9139
Role Avg IP3
Recent Avg IP3
Last Start IP3
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.0195,
    "defense_index": 1.1626,
    "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": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.0195,
    "opponent_offense_edge": 0.1006,
    "defense_strength": 0.1626,
    "opponent_defense_weakness": -0.213,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9928,
    "run_prevention": 1.0099,
    "strikeout": 0.9859
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "689266",
    "profile": {
      "available": true,
      "pitcher_id": "689266",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 168.0,
        "k_percent": 27.3,
        "bb_percent": 7.2,
        "woba": 0.26,
        "xwoba": 0.273,
        "sweet_spot_percent": 37.9,
        "barrel_batted_rate": 8.9,
        "hard_hit_percent": 37.1,
        "avg_best_speed": 80.0941,
        "avg_hyper_speed": 93.4986,
        "whiff_percent": 29.5,
        "swing_percent": 54.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5212,
        "command_and_miss": 0.6493,
        "regression_edge": -0.3714,
        "xwoba_edge": 1.1143,
        "barrel_edge": -0.3778,
        "hard_hit_edge": 0.1143,
        "whiff_edge": 0.6143,
        "bb_edge": 0.5,
        "pitch_design_score": 0.0466
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "689266",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 90.69542798085439,
          "release_spin_rate": 2142.6259128208435,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 90.69542798085439,
            "release_spin_rate": 2142.6259128208435,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6954,
          "release_spin_rate": 2142.6259,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0466,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3325,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2871,
      "sample_weight": 0.672,
      "run_prevention_factor": 0.9756,
      "strikeout_factor": 1.0365,
      "walk_factor": 0.9731,
      "homer_factor": 0.9948,
      "woba_minus_xwoba": -0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "689266",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9836,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9836,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9819,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9965,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0245,
        "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": 9.1,
    "ER": 5,
    "H": 8,
    "BB": 1,
    "SO": 10,
    "HR": 3,
    "ERA": 4.821428571428572,
    "WHIP": 0.9642857142857144,
    "K9": 9.642857142857144,
    "HR9": 2.8928571428571432,
    "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-10-01T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "689266",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 90.69542798085439,
    "release_spin_rate": 2142.6259128208435,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 90.69542798085439,
      "release_spin_rate": 2142.6259128208435,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6954,
    "release_spin_rate": 2142.6259,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0466,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3325,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.373,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6748,
    "prior_weight": 0.3252
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "689266",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 49,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 0.8,
        "ER_per_IP": 0.6,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 5.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 10.0,
        "HR": 3.0,
        "BF": 38.0,
        "Pitches": 138.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.8,
        "BB": 0.1,
        "SO": 1.0,
        "HR": 0.3,
        "BF": 3.8,
        "Pitches": 13.8
      },
      "rates": {
        "ERA": 4.8214,
        "WHIP": 0.9643,
        "ER_per_IP": 0.53571,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.10714,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.32143
      }
    },
    "season": {
      "games": 49,
      "totals": {
        "IP": 50.1,
        "ER": 15.0,
        "R": 15.0,
        "H": 32.0,
        "BB": 14.0,
        "SO": 53.0,
        "HR": 7.0,
        "BF": 197.0,
        "Pitches": 793.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3061,
        "R": 0.3061,
        "H": 0.6531,
        "BB": 0.2857,
        "SO": 1.0816,
        "HR": 0.1429,
        "BF": 4.0204,
        "Pitches": 16.1837
      },
      "rates": {
        "ERA": 2.6821,
        "WHIP": 0.9139,
        "ER_per_IP": 0.29801,
        "H_per_IP": 0.63576,
        "BB_per_IP": 0.27815,
        "SO_per_IP": 1.05298,
        "HR_per_IP": 0.13907
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 2.2,
    "predicted_ER": 1.298,
    "predicted_H": 2.143,
    "predicted_BB": 0.469,
    "predicted_SO": 2.676,
    "predicted_HR": 0.512,
    "predicted_ERA": 4.6395,
    "predicted_WHIP": 1.0374
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4874,
  "form_weight": 0.5126,
  "form_reliability": 0.6748,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.373,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6748,
    "prior_weight": 0.3252
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 2.2,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 1.298,
      "final": 2.6149,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 2.143,
      "final": 3.0481,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 0.469,
      "final": 1.7026,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 2.676,
      "final": 4.2961,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.512,
      "final": 1.2372,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6395,
      "final": 4.6395,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0374,
      "final": 1.0374,
      "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
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5937
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H1
Pre BB1
Pre SO1
Season ERA2.4978
Season WHIP1.1101
Role Avg IP1.2320
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.0195,
    "defense_index": 1.1626,
    "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": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.0195,
    "opponent_offense_edge": 0.1006,
    "defense_strength": 0.1626,
    "opponent_defense_weakness": -0.213,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9928,
    "run_prevention": 1.0099,
    "strikeout": 0.9859
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6557,
        "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.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "800311",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5937,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9495,
      "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.9495,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9495,
        "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": 2.0,
        "factor": 1.0806,
        "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": 13.0,
    "ER": 5,
    "H": 14,
    "BB": 2,
    "SO": 14,
    "HR": 3,
    "ERA": 3.4615384615384617,
    "WHIP": 1.2307692307692308,
    "K9": 9.692307692307692,
    "HR9": 2.076923076923077,
    "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-10-01T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "800311",
  "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": 15.595,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7572,
    "prior_weight": 0.2428
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "800311",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 2.0,
        "BF": 22.0,
        "Pitches": 92.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.8,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.4,
        "BF": 4.4,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.8,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.8,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.4
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 14.0,
        "BB": 2.0,
        "SO": 14.0,
        "HR": 3.0,
        "BF": 53.0,
        "Pitches": 223.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.5,
        "R": 0.6,
        "H": 1.4,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.3,
        "BF": 5.3,
        "Pitches": 22.3
      },
      "rates": {
        "ERA": 3.4615,
        "WHIP": 1.2308,
        "ER_per_IP": 0.38462,
        "H_per_IP": 1.07692,
        "BB_per_IP": 0.15385,
        "SO_per_IP": 1.07692,
        "HR_per_IP": 0.23077
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 75.2,
        "ER": 21.0,
        "R": 22.0,
        "H": 64.0,
        "BB": 20.0,
        "SO": 93.0,
        "HR": 7.0,
        "BF": 307.0,
        "Pitches": 1267.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.35,
        "R": 0.3667,
        "H": 1.0667,
        "BB": 0.3333,
        "SO": 1.55,
        "HR": 0.1167,
        "BF": 5.1167,
        "Pitches": 21.1167
      },
      "rates": {
        "ERA": 2.4978,
        "WHIP": 1.1101,
        "ER_per_IP": 0.27753,
        "H_per_IP": 0.84581,
        "BB_per_IP": 0.26432,
        "SO_per_IP": 1.22907,
        "HR_per_IP": 0.09251
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.538,
    "predicted_H": 1.442,
    "predicted_BB": 0.197,
    "predicted_SO": 1.028,
    "predicted_HR": 0.282,
    "predicted_ERA": 4.2548,
    "predicted_WHIP": 1.4387
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4526,
  "form_weight": 0.5474,
  "form_reliability": 0.7572,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.595,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7572,
    "prior_weight": 0.2428
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.538,
      "final": 0.2945,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.442,
      "final": 0.7894,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.197,
      "final": 0.5604,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.028,
      "final": 1.0153,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.282,
      "final": 0.1544,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.2548,
      "final": 4.2548,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4387,
      "final": 1.4387,
      "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.2863
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA2.4677
Season WHIP1.0806
Role Avg IP1.0160
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.0195,
    "defense_index": 1.1626,
    "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": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "edges": {
    "quality_edge": -0.2008,
    "offense_edge": 0.0195,
    "opponent_offense_edge": 0.1006,
    "defense_strength": 0.1626,
    "opponent_defense_weakness": -0.213,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9928,
    "run_prevention": 1.0099,
    "strikeout": 0.9859
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3544,
        "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.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "628452",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.2863,
      "sample_weight": 0.884,
      "run_prevention_factor": 0.9757,
      "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.9785,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9785,
        "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": 6,
    "BB": 1,
    "SO": 10,
    "HR": 1,
    "ERA": 0.9,
    "WHIP": 0.7,
    "K9": 9.0,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "628452",
  "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": 12.778,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7188,
    "prior_weight": 0.2812
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "628452",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 53.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 10.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 36.0,
        "Pitches": 129.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.1,
        "SO": 1.0,
        "HR": 0.1,
        "BF": 3.6,
        "Pitches": 12.9
      },
      "rates": {
        "ERA": 0.9,
        "WHIP": 0.7,
        "ER_per_IP": 0.1,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 62.0,
        "ER": 17.0,
        "R": 21.0,
        "H": 50.0,
        "BB": 17.0,
        "SO": 64.0,
        "HR": 6.0,
        "BF": 246.0,
        "Pitches": 927.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2787,
        "R": 0.3443,
        "H": 0.8197,
        "BB": 0.2787,
        "SO": 1.0492,
        "HR": 0.0984,
        "BF": 4.0328,
        "Pitches": 15.1967
      },
      "rates": {
        "ERA": 2.4677,
        "WHIP": 1.0806,
        "ER_per_IP": 0.27419,
        "H_per_IP": 0.80645,
        "BB_per_IP": 0.27419,
        "SO_per_IP": 1.03226,
        "HR_per_IP": 0.09677
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.209,
    "predicted_H": 0.738,
    "predicted_BB": 0.171,
    "predicted_SO": 0.921,
    "predicted_HR": 0.081,
    "predicted_ERA": 1.8774,
    "predicted_WHIP": 0.909
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4688,
  "form_weight": 0.5312,
  "form_reliability": 0.7188,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.778,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7188,
    "prior_weight": 0.2812
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.209,
      "final": 0.111,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.738,
      "final": 0.392,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.171,
      "final": 0.0908,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.921,
      "final": 0.958,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.081,
      "final": 0.043,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.8774,
      "final": 1.8774,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.909,
      "final": 0.909,
      "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 · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 585
All-history rows before 20261003: 585
System season_avg: 0.2820
Data season_avg (2026 season-to-date): 0.2834
Diff (system - data): -0.0014
System opponent_avg: 0.3970

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1500.0000.000Hitting_2B0.1420.000-0.1420.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9573.0004.000Hitting_AB3.9814.000-0.981-1.000
predicted_AVG0.2820.0000.250Hitting_AVG0.2830.000-0.2830.000
predicted_BB0.3930.0001.000Hitting_BB0.4190.000-0.4190.000
predicted_CS-0.0000.000BaseRunning_CS0.0050.000-0.0050.000
predicted_H1.1140.0001.000Hitting_H1.1280.000-1.1280.000
predicted_HR0.1790.0000.000Hitting_HR0.1810.000-0.1810.000
predicted_OBP0.3460.4000.400Hitting_OBP0.3600.0000.0400.400
predicted_R0.6000.0001.000Hitting_R0.6240.000-0.6240.000
predicted_RBI0.5710.0001.000Hitting_RBI0.6090.000-0.6090.000
predicted_SLG0.4550.0000.250Hitting_SLG0.4560.000-0.4560.000
predicted_SO0.9431.0001.000Hitting_SO0.9540.0000.0461.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.9430 -> 1.0000 (boost 0.0570, worse)
Biggest Deboostpredicted_H: 1.1140 -> 0.0000 (deboost -1.1140, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.9570 -> 4.0194 (boost 0.0624, better)predicted_R: 0.6000 -> 0.5437 (deboost -0.0563, 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.4491 -> 0.4363 (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_scaling72516predicted_RBI: 0.5210 -> 1.0000 (boost 0.4790, better)predicted_BB: 0.3427 -> 0.0000 (deboost -0.3427, worse)AB rounded to 4 (raw=4.02), rates preserved: AVG=0.259 HR/AB=0.042
6consistency_constraints11010predicted_R: 0.5146 -> 1.0000 (boost 0.4854, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54132predicted_BB: 0.0000 -> 0.3080 (boost 0.3080, better)predicted_RBI: 1.0000 -> 0.5898 (deboost -0.4102, 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_allocation52332predicted_BB: 0.3080 -> 1.0000 (boost 0.6920, better)predicted_SO: 1.2697 -> 1.0000 (deboost -0.2697, better)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_reference51414predicted_HBP: 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_AVG: 0.2500 -> 0.2691 (boost 0.0191, 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": "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.15,
        "predicted_3B": 0.0,
        "predicted_AB": 3.957,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.393,
        "predicted_H": 1.114,
        "predicted_HR": 0.179,
        "predicted_OBP": 0.346,
        "predicted_R": 0.6,
        "predicted_RBI": 0.571,
        "predicted_SLG": 0.455,
        "predicted_SO": 0.943
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1666,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0194,
        "predicted_AVG": 0.2784,
        "predicted_BB": 0.3445,
        "predicted_H": 1.1175,
        "predicted_HBP": 0.058,
        "predicted_HR": 0.1733,
        "predicted_OBP": 0.3377,
        "predicted_R": 0.5437,
        "predicted_RBI": 0.5505,
        "predicted_SLG": 0.4491,
        "predicted_SO": 0.9273
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.15,
          "after": 0.1666,
          "delta": 0.0166,
          "percent_delta": 0.1107,
          "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.957,
          "after": 4.0194,
          "delta": 0.0624,
          "percent_delta": 0.0158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2784,
          "delta": -0.0036,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.393,
          "after": 0.3445,
          "delta": -0.0485,
          "percent_delta": -0.1234,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.114,
          "after": 1.1175,
          "delta": 0.0035,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.179,
          "after": 0.1733,
          "delta": -0.0057,
          "percent_delta": -0.0318,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.346,
          "after": 0.3377,
          "delta": -0.0083,
          "percent_delta": -0.024,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6,
          "after": 0.5437,
          "delta": -0.0563,
          "percent_delta": -0.0938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.571,
          "after": 0.5505,
          "delta": -0.0205,
          "percent_delta": -0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.4491,
          "delta": -0.0059,
          "percent_delta": -0.013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.943,
          "after": 0.9273,
          "delta": -0.0157,
          "percent_delta": -0.0166,
          "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.957,
          "after": 4.0194,
          "delta": 0.0624,
          "percent_delta": 0.0158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.6,
          "after": 0.5437,
          "delta": -0.0563,
          "percent_delta": -0.0938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 140
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1666,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0194,
        "predicted_AVG": 0.2691,
        "predicted_BB": 0.3427,
        "predicted_H": 1.0816,
        "predicted_HBP": 0.058,
        "predicted_HR": 0.1683,
        "predicted_OBP": 0.3265,
        "predicted_R": 0.5146,
        "predicted_RBI": 0.521,
        "predicted_SLG": 0.4363,
        "predicted_SO": 0.9321
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1666,
          "after": 0.1666,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0194,
          "after": 4.0194,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2784,
          "after": 0.2691,
          "delta": -0.0093,
          "percent_delta": -0.0334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3445,
          "after": 0.3427,
          "delta": -0.0018,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1175,
          "after": 1.0816,
          "delta": -0.0359,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.058,
          "after": 0.058,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1733,
          "after": 0.1683,
          "delta": -0.005,
          "percent_delta": -0.0289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3377,
          "after": 0.3265,
          "delta": -0.0112,
          "percent_delta": -0.0332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5437,
          "after": 0.5146,
          "delta": -0.0291,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5505,
          "after": 0.521,
          "delta": -0.0295,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4491,
          "after": 0.4363,
          "delta": -0.0128,
          "percent_delta": -0.0285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9273,
          "after": 0.9321,
          "delta": 0.0048,
          "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.4491,
          "after": 0.4363,
          "delta": -0.0128,
          "percent_delta": -0.0285,
          "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.02), rates preserved: AVG=0.259 HR/AB=0.042",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1666,
          "after": 0.0,
          "delta": -0.1666,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0194,
          "after": 4.0,
          "delta": -0.0194,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3427,
          "after": 0.0,
          "delta": -0.3427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0816,
          "after": 1.0,
          "delta": -0.0816,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.058,
          "after": 0.0,
          "delta": -0.058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1683,
          "after": 0.0,
          "delta": -0.1683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.521,
          "after": 1.0,
          "delta": 0.479,
          "percent_delta": 0.9194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9321,
          "after": 1.0,
          "delta": 0.0679,
          "percent_delta": 0.0728,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.521,
          "after": 1.0,
          "delta": 0.479,
          "percent_delta": 0.9194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3427,
          "after": 0.0,
          "delta": -0.3427,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.5146,
          "after": 1.0,
          "delta": 0.4854,
          "percent_delta": 0.9433,
          "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.5146,
          "after": 1.0,
          "delta": 0.4854,
          "percent_delta": 0.9433,
          "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.1626,
        "predicted_3B": 0.007,
        "predicted_BB": 0.308,
        "predicted_H": 1.0211,
        "predicted_HR": 0.1727,
        "predicted_RBI": 0.5898,
        "predicted_SO": 1.2697
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1626,
          "delta": 0.1626,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.007,
          "delta": 0.007,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.308,
          "delta": 0.308,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0211,
          "delta": 0.0211,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1727,
          "delta": 0.1727,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5898,
          "delta": -0.4102,
          "percent_delta": -0.4102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2697,
          "delta": 0.2697,
          "percent_delta": 0.2697,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.308,
          "delta": 0.308,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5898,
          "delta": -0.4102,
          "percent_delta": -0.4102,
          "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.1626,
          "after": 0.0,
          "delta": -0.1626,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 1.0,
          "delta": 0.692,
          "percent_delta": 2.2468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0211,
          "after": 1.0,
          "delta": -0.0211,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1727,
          "after": 0.0,
          "delta": -0.1727,
          "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.5898,
          "after": 1.0,
          "delta": 0.4102,
          "percent_delta": 0.6955,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2697,
          "after": 1.0,
          "delta": -0.2697,
          "percent_delta": -0.2124,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 1.0,
          "delta": 0.692,
          "percent_delta": 2.2468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2697,
          "after": 1.0,
          "delta": -0.2697,
          "percent_delta": -0.2124,
          "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.25,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 1.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.2691,
          "after": 0.25,
          "delta": -0.0191,
          "percent_delta": -0.071,
          "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.3265,
          "after": 0.308,
          "delta": -0.0185,
          "percent_delta": -0.0567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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.4363,
          "after": 0.42,
          "delta": -0.0163,
          "percent_delta": -0.0374,
          "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": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 2.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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HBP",
          "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.2691,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3265,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2691,
          "delta": 0.0191,
          "percent_delta": 0.0764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.3265,
          "delta": 0.0185,
          "percent_delta": 0.0601,
          "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.42,
          "after": 0.4363,
          "delta": 0.0163,
          "percent_delta": 0.0389,
          "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.25,
          "after": 0.2691,
          "delta": 0.0191,
          "percent_delta": 0.0764,
          "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.15,
        "after": 0.0,
        "delta": -0.15,
        "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.957,
        "after": 3.0,
        "delta": -0.957,
        "percent_delta": -0.2418,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2691,
        "delta": -0.0129,
        "percent_delta": -0.0457,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.393,
        "after": 0.0,
        "delta": -0.393,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.114,
        "after": 0.0,
        "delta": -1.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.346,
        "after": 0.3265,
        "delta": -0.0195,
        "percent_delta": -0.0564,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.6,
        "after": 0.0,
        "delta": -0.6,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.571,
        "after": 0.0,
        "delta": -0.571,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.455,
        "after": 0.4363,
        "delta": -0.0187,
        "percent_delta": -0.0411,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.943,
        "after": 1.0,
        "delta": 0.057,
        "percent_delta": 0.0604,
        "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.943,
        "after": 1.0,
        "delta": 0.057,
        "percent_delta": 0.0604,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.114,
        "after": 0.0,
        "delta": -1.114,
        "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.150-
predicted_3B0.000-
predicted_AB3.957-
predicted_AVG0.282-
predicted_BB0.393-
predicted_H1.114-
predicted_HR0.179-
predicted_OBP0.346-
predicted_R0.600-
predicted_RBI0.571-
predicted_SLG0.455-
predicted_SO0.943-
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.1670.017
predicted_3B0.0000.000
predicted_AB4.0190.062
predicted_AVG0.278-0.004
predicted_BB0.344-0.049
predicted_H1.1170.003
predicted_HBP0.058-
predicted_HR0.173-0.006
predicted_OBP0.338-0.008
predicted_R0.544-0.056
predicted_RBI0.550-0.020
predicted_SLG0.449-0.006
predicted_SO0.927-0.016
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.1670.000
predicted_3B0.0000.000
predicted_AB4.0190.000
predicted_AVG0.269-0.009
predicted_BB0.343-0.002
predicted_H1.082-0.036
predicted_HBP0.0580.000
predicted_HR0.168-0.005
predicted_OBP0.327-0.011
predicted_R0.515-0.029
predicted_RBI0.521-0.029
predicted_SLG0.436-0.013
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=4.02), rates preserved: AVG=0.259 HR/AB=0.042

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.1630.163
3B0.0070.007
BB0.3080.308
H1.0210.021
HR0.1730.173
RBI0.590-0.410
SO1.2700.270
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.163
3B0.000-0.007
AB4.0000.000
BB1.0000.692
H1.000-0.021
HR0.000-0.173
R1.0000.000
RBI1.0000.410
SO1.000-0.270
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.167
predicted_3B0.000-0.000
predicted_AB4.000-0.019
predicted_AVG0.250-0.019
predicted_BB0.000-0.343
predicted_H1.000-0.082
predicted_HR0.000-0.168
predicted_OBP0.308-0.019
predicted_R1.0000.485
predicted_RBI1.0000.479
predicted_SLG0.420-0.016
predicted_SO1.0000.068
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
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP2.0002.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: 140
Reference playing time: 3.957
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.0005.0001.0000.0001.0003.0001.0000.0004.0000.22730.22730.40910.22730.04540.13640.00000.1818
last_100.2010-43.00013.0003.0000.0001.0003.0003.0002.0009.0000.30230.34780.44190.30230.02330.06980.04650.2093
season0.60140-554.000156.00021.0000.00025.00080.00084.00055.000132.0000.28160.35480.45490.28160.04510.14440.09930.2383
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1880
predicted_3B0.0010
predicted_AB4.1000
predicted_AVG0.2737
predicted_BB0.2820
predicted_H1.1220
predicted_HBP0.0580
predicted_HR0.1660
predicted_OBP0.3269
predicted_R0.4710
predicted_RBI0.5240
predicted_SLG0.4415
predicted_SO0.9070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15000.18800.1666model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.95704.10004.0194model_form_blend
predicted_AVG0.28200.27370.2784model_form_blend
predicted_BB0.39300.28200.3445model_form_blend
predicted_H1.11401.12201.1175model_form_blend
predicted_HBP-0.05800.0580form_only
predicted_HR0.17900.16600.1733model_form_blend
predicted_OBP0.34600.32690.3377model_form_blend
predicted_R0.60000.47100.5437model_form_blend
predicted_RBI0.57100.52400.5505model_form_blend
predicted_SLG0.45500.44150.4491model_form_blend
predicted_SO0.94300.90700.9273model_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 date585
Season rows before report date585
Report year2026
Profile rows used140
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
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP2
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_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
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
allPositionsPlayedC
gameID20261001_PHI@ATL
game_typefull
mlbID686948
playerID686948
playerNameDrake Baldwin
posC
startedTrue
startingPositionC
teamATL
teamID2
game_date2026-10-01
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
Ozzie Albies (645277) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 657
All-history rows before 20261003: 657
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2442
Diff (system - data): -0.0032
System opponent_avg: 0.4200

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1650.0000.000Hitting_2B0.1920.000-0.1920.000
predicted_3B0.0120.0000.000Hitting_3B0.0030.000-0.0030.000
predicted_AB4.0704.0004.000Hitting_AB3.8523.0000.1481.000
predicted_AVG0.2130.2500.250Hitting_AVG0.2440.3330.006-0.083
predicted_BB0.2991.0000.000Hitting_BB0.3171.0000.6830.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H0.8701.0001.000Hitting_H0.9411.0000.0590.000
predicted_HR0.1700.0000.000Hitting_HR0.1351.000-0.135-1.000
predicted_OBP0.3080.4000.250Hitting_OBP0.3030.5000.097-0.100
predicted_R0.5370.0000.000Hitting_R0.5541.000-0.554-1.000
predicted_RBI0.6300.0001.000Hitting_RBI0.4602.000-0.460-2.000
predicted_SB-0.0000.000BaseRunning_SB0.0210.000-0.0210.000
predicted_SLG0.4270.2500.250Hitting_SLG0.4011.333-0.151-1.083
predicted_SO0.6460.0001.000Hitting_SO0.6651.000-0.665-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_BB: 0.2990 -> 1.0000 (boost 0.7010, better)
Biggest Deboostpredicted_SO: 0.6460 -> 0.0000 (deboost -0.6460, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41304predicted_SO: 0.6460 -> 0.6981 (boost 0.0521, worse)predicted_AB: 4.0700 -> 3.8415 (deboost -0.2285, 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.3089 -> 0.2719 (deboost -0.0370, 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: 0.7017 -> 1.0000 (boost 0.2983, worse)predicted_RBI: 0.5449 -> 0.0000 (deboost -0.5449, worse)AB rounded to 4 (raw=4.07), rates preserved: AVG=0.191 HR/AB=0.038
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
7consistency_constraints11010predicted_R: 0.5037 -> 1.0000 (boost 0.4963, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5068 (boost 0.5068, better)predicted_SO: 1.0000 -> 0.7689 (deboost -0.2311, 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_allocation73425predicted_RBI: 0.5068 -> 1.0000 (boost 0.4932, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context54141predicted_R: 0.0000 -> 1.0000 (boost 1.0000, 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_reference31221predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4210 -> 0.3863 (deboost -0.0347, 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.165,
        "predicted_3B": 0.012,
        "predicted_AB": 4.07,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.299,
        "predicted_H": 0.87,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.308,
        "predicted_R": 0.537,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.427,
        "predicted_SO": 0.646
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1348,
        "predicted_3B": 0.0387,
        "predicted_AB": 3.8415,
        "predicted_AVG": 0.2167,
        "predicted_BB": 0.3292,
        "predicted_H": 0.8328,
        "predicted_HBP": 0.116,
        "predicted_HR": 0.1599,
        "predicted_OBP": 0.3089,
        "predicted_R": 0.5322,
        "predicted_RBI": 0.5757,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.6981
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1348,
          "delta": -0.0302,
          "percent_delta": -0.183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0387,
          "delta": 0.0267,
          "percent_delta": 2.225,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.07,
          "after": 3.8415,
          "delta": -0.2285,
          "percent_delta": -0.0561,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.2167,
          "delta": 0.0037,
          "percent_delta": 0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.299,
          "after": 0.3292,
          "delta": 0.0302,
          "percent_delta": 0.101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.8328,
          "delta": -0.0372,
          "percent_delta": -0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1599,
          "delta": -0.0101,
          "percent_delta": -0.0594,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.3089,
          "delta": 0.0009,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.537,
          "after": 0.5322,
          "delta": -0.0048,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.5757,
          "delta": -0.0543,
          "percent_delta": -0.0862,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.421,
          "delta": -0.006,
          "percent_delta": -0.0141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.646,
          "after": 0.6981,
          "delta": 0.0521,
          "percent_delta": 0.0807,
          "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.646,
          "after": 0.6981,
          "delta": 0.0521,
          "percent_delta": 0.0807,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.07,
          "after": 3.8415,
          "delta": -0.2285,
          "percent_delta": -0.0561,
          "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": 164
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1348,
        "predicted_3B": 0.0387,
        "predicted_AB": 3.8415,
        "predicted_AVG": 0.2098,
        "predicted_BB": 0.3275,
        "predicted_H": 0.8061,
        "predicted_HBP": 0.116,
        "predicted_HR": 0.1553,
        "predicted_OBP": 0.2719,
        "predicted_R": 0.5037,
        "predicted_RBI": 0.5449,
        "predicted_SLG": 0.3863,
        "predicted_SO": 0.7017
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1348,
          "after": 0.1348,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0387,
          "after": 0.0387,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8415,
          "after": 3.8415,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2167,
          "after": 0.2098,
          "delta": -0.0069,
          "percent_delta": -0.0318,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3292,
          "after": 0.3275,
          "delta": -0.0017,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8328,
          "after": 0.8061,
          "delta": -0.0267,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.116,
          "after": 0.116,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1599,
          "after": 0.1553,
          "delta": -0.0046,
          "percent_delta": -0.0288,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3089,
          "after": 0.2719,
          "delta": -0.037,
          "percent_delta": -0.1198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5322,
          "after": 0.5037,
          "delta": -0.0285,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5757,
          "after": 0.5449,
          "delta": -0.0308,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.3863,
          "delta": -0.0347,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6981,
          "after": 0.7017,
          "delta": 0.0036,
          "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_OBP",
          "before": 0.3089,
          "after": 0.2719,
          "delta": -0.037,
          "percent_delta": -0.1198,
          "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.07), rates preserved: AVG=0.191 HR/AB=0.038",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1348,
          "after": 0.0,
          "delta": -0.1348,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0387,
          "after": 0.0,
          "delta": -0.0387,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8415,
          "after": 4.0,
          "delta": 0.1585,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3275,
          "after": 0.0,
          "delta": -0.3275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8061,
          "after": 1.0,
          "delta": 0.1939,
          "percent_delta": 0.2405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.116,
          "after": 0.0,
          "delta": -0.116,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1553,
          "after": 0.0,
          "delta": -0.1553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5449,
          "after": 0.0,
          "delta": -0.5449,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7017,
          "after": 1.0,
          "delta": 0.2983,
          "percent_delta": 0.4251,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7017,
          "after": 1.0,
          "delta": 0.2983,
          "percent_delta": 0.4251,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5449,
          "after": 0.0,
          "delta": -0.5449,
          "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.600)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 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.5037,
          "after": 1.0,
          "delta": 0.4963,
          "percent_delta": 0.9853,
          "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.5037,
          "after": 1.0,
          "delta": 0.4963,
          "percent_delta": 0.9853,
          "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.0082,
        "predicted_BB": 0.2675,
        "predicted_H": 0.8844,
        "predicted_HR": 0.1598,
        "predicted_RBI": 0.5068,
        "predicted_SO": 0.7689
      },
      "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.0082,
          "delta": 0.0082,
          "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.8844,
          "delta": -0.1156,
          "percent_delta": -0.1156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1598,
          "delta": 0.1598,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5068,
          "delta": 0.5068,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7689,
          "delta": -0.2311,
          "percent_delta": -0.2311,
          "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.5068,
          "delta": 0.5068,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7689,
          "delta": -0.2311,
          "percent_delta": -0.2311,
          "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.1663,
          "after": 0.0,
          "delta": -0.1663,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0082,
          "after": 0.0,
          "delta": -0.0082,
          "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.2675,
          "after": 0.0,
          "delta": -0.2675,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8844,
          "after": 1.0,
          "delta": 0.1156,
          "percent_delta": 0.1307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "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.5068,
          "after": 1.0,
          "delta": 0.4932,
          "percent_delta": 0.9732,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7689,
          "after": 1.0,
          "delta": 0.2311,
          "percent_delta": 0.3006,
          "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.5068,
          "after": 1.0,
          "delta": 0.4932,
          "percent_delta": 0.9732,
          "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": "embedded_savant_player_context",
      "description": "Player 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.298,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.421,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2098,
          "after": 0.241,
          "delta": 0.0312,
          "percent_delta": 0.1487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2719,
          "after": 0.298,
          "delta": 0.0261,
          "percent_delta": 0.096,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3863,
          "after": 0.421,
          "delta": 0.0347,
          "percent_delta": 0.0898,
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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.2098,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2719,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3863,
        "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.241,
          "after": 0.2098,
          "delta": -0.0312,
          "percent_delta": -0.1293,
          "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.298,
          "after": 0.2719,
          "delta": -0.0261,
          "percent_delta": -0.0876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.3863,
          "delta": -0.0347,
          "percent_delta": -0.0824,
          "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.421,
          "after": 0.3863,
          "delta": -0.0347,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.07,
        "after": 4.0,
        "delta": -0.07,
        "percent_delta": -0.0172,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.213,
        "after": 0.2098,
        "delta": -0.0032,
        "percent_delta": -0.015,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.299,
        "after": 1.0,
        "delta": 0.701,
        "percent_delta": 2.3445,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.308,
        "after": 0.2719,
        "delta": -0.0361,
        "percent_delta": -0.1172,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.537,
        "after": 0.0,
        "delta": -0.537,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.427,
        "after": 0.3863,
        "delta": -0.0407,
        "percent_delta": -0.0953,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.646,
        "after": 0.0,
        "delta": -0.646,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.299,
        "after": 1.0,
        "delta": 0.701,
        "percent_delta": 2.3445,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.646,
        "after": 0.0,
        "delta": -0.646,
        "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.165-
predicted_3B0.012-
predicted_AB4.070-
predicted_AVG0.213-
predicted_BB0.299-
predicted_H0.870-
predicted_HR0.170-
predicted_OBP0.308-
predicted_R0.537-
predicted_RBI0.630-
predicted_SLG0.427-
predicted_SO0.646-
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.135-0.030
predicted_3B0.0390.027
predicted_AB3.841-0.229
predicted_AVG0.2170.004
predicted_BB0.3290.030
predicted_H0.833-0.037
predicted_HBP0.116-
predicted_HR0.160-0.010
predicted_OBP0.3090.001
predicted_R0.532-0.005
predicted_RBI0.576-0.054
predicted_SLG0.421-0.006
predicted_SO0.6980.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.1350.000
predicted_3B0.0390.000
predicted_AB3.8410.000
predicted_AVG0.210-0.007
predicted_BB0.328-0.002
predicted_H0.806-0.027
predicted_HBP0.1160.000
predicted_HR0.155-0.005
predicted_OBP0.272-0.037
predicted_R0.504-0.028
predicted_RBI0.545-0.031
predicted_SLG0.386-0.035
predicted_SO0.7020.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.07), rates preserved: AVG=0.191 HR/AB=0.038

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.600)

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.1660.166
3B0.0080.008
BB0.2680.268
H0.884-0.116
HR0.1600.160
RBI0.5070.507
SO0.769-0.231
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.268
H1.0000.116
HR0.000-0.160
R0.000-1.000
RBI1.0000.493
SO1.0000.231
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.135
predicted_3B0.000-0.039
predicted_AB4.0000.159
predicted_AVG0.2410.031
predicted_BB0.000-0.328
predicted_H1.0000.194
predicted_HR0.000-0.155
predicted_OBP0.2980.026
predicted_R1.0000.496
predicted_RBI0.000-0.545
predicted_SLG0.4210.035
predicted_SO1.0000.298
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
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.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: 164
Reference playing time: 4.070
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.0001.0001.0003.0003.0003.0004.0000.20000.36840.53330.20000.06670.20000.20000.2667
last_100.2010-34.0006.0000.0001.0001.0005.0004.0003.00010.0000.17650.28210.32350.17650.02940.14710.08820.2941
season0.60164-617.000149.00027.0002.00023.00076.00088.00049.000106.0000.24150.30040.40360.24150.03730.12320.07940.1718
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0960
predicted_3B0.0730
predicted_AB3.5480
predicted_AVG0.2214
predicted_BB0.3680
predicted_H0.7850
predicted_HBP0.1160
predicted_HR0.1470
predicted_OBP0.3101
predicted_R0.5260
predicted_RBI0.5060
predicted_SLG0.4133
predicted_SO0.7650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.09600.1348model_form_blend
predicted_3B0.01200.07300.0387model_form_blend
predicted_AB4.07003.54803.8415model_form_blend
predicted_AVG0.21300.22140.2167model_form_blend
predicted_BB0.29900.36800.3292model_form_blend
predicted_H0.87000.78500.8328model_form_blend
predicted_HBP-0.11600.1160form_only
predicted_HR0.17000.14700.1599model_form_blend
predicted_OBP0.30800.31010.3089model_form_blend
predicted_R0.53700.52600.5322model_form_blend
predicted_RBI0.63000.50600.5757model_form_blend
predicted_SLG0.42700.41330.4210model_form_blend
predicted_SO0.64600.76500.6981model_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 used164
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_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
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
allPositionsPlayed2B
gameID20261001_PHI@ATL
game_typefull
mlbID645277
playerID645277
playerNameOzzie Albies
pos2B
startedTrue
startingPosition2B
teamATL
teamID2
game_date2026-10-01
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
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 20261003: 598
All-history rows before 20261003: 598
System season_avg: 0.3000
Data season_avg (2026 season-to-date): 0.2975
Diff (system - data): 0.0025
System opponent_avg: 0.3480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2290.0001.000Hitting_2B0.2360.000-0.2360.000
predicted_3B0.0060.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.8305.0004.000Hitting_AB4.0253.0000.9752.000
predicted_AVG0.3340.2000.250Hitting_AVG0.2970.333-0.097-0.133
predicted_BB0.1340.0000.000Hitting_BB0.1440.000-0.1440.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.6101.0001.000Hitting_H1.1971.000-0.1970.000
predicted_HR0.2300.0000.000Hitting_HR0.1791.000-0.179-1.000
predicted_OBP0.3800.2000.250Hitting_OBP0.3230.500-0.123-0.300
predicted_R0.5290.0001.000Hitting_R0.5541.000-0.554-1.000
predicted_RBI0.9900.0001.000Hitting_RBI0.6003.000-0.600-3.000
predicted_SLG0.5510.2000.500Hitting_SLG0.4941.333-0.294-1.133
predicted_SO0.7711.0001.000Hitting_SO0.8181.0000.1820.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.7710 -> 1.0000 (boost 0.2290, worse)
Biggest Deboostpredicted_RBI: 0.9900 -> 0.0000 (deboost -0.9900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_R: 0.5290 -> 0.6072 (boost 0.0782, better)predicted_AB: 4.8300 -> 4.3859 (deboost -0.4441, 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.3777 -> 0.3459 (deboost -0.0318, 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.7478 -> 1.0000 (boost 0.2522, worse)predicted_H: 1.4319 -> 1.0000 (deboost -0.4319, worse)AB rounded to 4 (raw=4.83), rates preserved: AVG=0.285 HR/AB=0.040
6consistency_constraints11010predicted_R: 0.5747 -> 1.0000 (boost 0.4253, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54132predicted_2B: 0.0000 -> 0.1878 (boost 0.1878, better)predicted_RBI: 1.0000 -> 0.5992 (deboost -0.4008, 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_allocation52332predicted_2B: 0.1878 -> 1.0000 (boost 0.8122, better)predicted_HR: 0.1700 -> 0.0000 (deboost -0.1700, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-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_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
11current_json_final33030predicted_SLG: 0.4570 -> 0.5203 (boost 0.0633, 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.229,
        "predicted_3B": 0.006,
        "predicted_AB": 4.83,
        "predicted_AVG": 0.334,
        "predicted_BB": 0.134,
        "predicted_H": 1.61,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.38,
        "predicted_R": 0.529,
        "predicted_RBI": 0.99,
        "predicted_SLG": 0.551,
        "predicted_SO": 0.771
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2565,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.3859,
        "predicted_AVG": 0.3383,
        "predicted_BB": 0.1309,
        "predicted_H": 1.4794,
        "predicted_HBP": 0.07,
        "predicted_HR": 0.2003,
        "predicted_OBP": 0.3777,
        "predicted_R": 0.6072,
        "predicted_RBI": 0.8188,
        "predicted_SLG": 0.5506,
        "predicted_SO": 0.7439
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.229,
          "after": 0.2565,
          "delta": 0.0275,
          "percent_delta": 0.1201,
          "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.83,
          "after": 4.3859,
          "delta": -0.4441,
          "percent_delta": -0.0919,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.334,
          "after": 0.3383,
          "delta": 0.0043,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.134,
          "after": 0.1309,
          "delta": -0.0031,
          "percent_delta": -0.0231,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.61,
          "after": 1.4794,
          "delta": -0.1306,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2003,
          "delta": -0.0297,
          "percent_delta": -0.1291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3777,
          "delta": -0.0023,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.529,
          "after": 0.6072,
          "delta": 0.0782,
          "percent_delta": 0.1478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.99,
          "after": 0.8188,
          "delta": -0.1712,
          "percent_delta": -0.1729,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.551,
          "after": 0.5506,
          "delta": -0.0004,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.771,
          "after": 0.7439,
          "delta": -0.0271,
          "percent_delta": -0.0351,
          "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_R",
          "before": 0.529,
          "after": 0.6072,
          "delta": 0.0782,
          "percent_delta": 0.1478,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.83,
          "after": 4.3859,
          "delta": -0.4441,
          "percent_delta": -0.0919,
          "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.2565,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.3859,
        "predicted_AVG": 0.3265,
        "predicted_BB": 0.1302,
        "predicted_H": 1.4319,
        "predicted_HBP": 0.07,
        "predicted_HR": 0.1945,
        "predicted_OBP": 0.3459,
        "predicted_R": 0.5747,
        "predicted_RBI": 0.775,
        "predicted_SLG": 0.5203,
        "predicted_SO": 0.7478
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2565,
          "after": 0.2565,
          "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.3859,
          "after": 4.3859,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3383,
          "after": 0.3265,
          "delta": -0.0118,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1309,
          "after": 0.1302,
          "delta": -0.0007,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4794,
          "after": 1.4319,
          "delta": -0.0475,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.07,
          "after": 0.07,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2003,
          "after": 0.1945,
          "delta": -0.0058,
          "percent_delta": -0.029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3777,
          "after": 0.3459,
          "delta": -0.0318,
          "percent_delta": -0.0842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6072,
          "after": 0.5747,
          "delta": -0.0325,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8188,
          "after": 0.775,
          "delta": -0.0438,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5506,
          "after": 0.5203,
          "delta": -0.0303,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7439,
          "after": 0.7478,
          "delta": 0.0039,
          "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_OBP",
          "before": 0.3777,
          "after": 0.3459,
          "delta": -0.0318,
          "percent_delta": -0.0842,
          "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.83), rates preserved: AVG=0.285 HR/AB=0.040",
      "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.2565,
          "after": 0.0,
          "delta": -0.2565,
          "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.3859,
          "after": 4.0,
          "delta": -0.3859,
          "percent_delta": -0.088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1302,
          "after": 0.0,
          "delta": -0.1302,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4319,
          "after": 1.0,
          "delta": -0.4319,
          "percent_delta": -0.3016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.07,
          "after": 0.0,
          "delta": -0.07,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1945,
          "after": 0.0,
          "delta": -0.1945,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.775,
          "after": 1.0,
          "delta": 0.225,
          "percent_delta": 0.2903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7478,
          "after": 1.0,
          "delta": 0.2522,
          "percent_delta": 0.3373,
          "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.7478,
          "after": 1.0,
          "delta": 0.2522,
          "percent_delta": 0.3373,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.4319,
          "after": 1.0,
          "delta": -0.4319,
          "percent_delta": -0.3016,
          "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.5747,
          "after": 1.0,
          "delta": 0.4253,
          "percent_delta": 0.74,
          "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.5747,
          "after": 1.0,
          "delta": 0.4253,
          "percent_delta": 0.74,
          "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.1878,
        "predicted_3B": 0.0085,
        "predicted_BB": 0.138,
        "predicted_H": 1.0308,
        "predicted_HR": 0.17,
        "predicted_RBI": 0.5992,
        "predicted_SO": 1.0853
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1878,
          "delta": 0.1878,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0085,
          "delta": 0.0085,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.138,
          "delta": 0.138,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0308,
          "delta": 0.0308,
          "percent_delta": 0.0308,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.17,
          "delta": 0.17,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5992,
          "delta": -0.4008,
          "percent_delta": -0.4008,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0853,
          "delta": 0.0853,
          "percent_delta": 0.0853,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1878,
          "delta": 0.1878,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5992,
          "delta": -0.4008,
          "percent_delta": -0.4008,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1878,
          "after": 1.0,
          "delta": 0.8122,
          "percent_delta": 4.3248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0085,
          "after": 0.0,
          "delta": -0.0085,
          "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.138,
          "after": 0.0,
          "delta": -0.138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0308,
          "after": 1.0,
          "delta": -0.0308,
          "percent_delta": -0.0299,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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_R",
          "before": 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.5992,
          "after": 1.0,
          "delta": 0.4008,
          "percent_delta": 0.6689,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0853,
          "after": 1.0,
          "delta": -0.0853,
          "percent_delta": -0.0786,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1878,
          "after": 1.0,
          "delta": 0.8122,
          "percent_delta": 4.3248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.0,
          "delta": -0.17,
          "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.27,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.457,
        "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.3265,
          "after": 0.27,
          "delta": -0.0565,
          "percent_delta": -0.173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3459,
          "after": 0.301,
          "delta": -0.0449,
          "percent_delta": -0.1298,
          "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.5203,
          "after": 0.457,
          "delta": -0.0633,
          "percent_delta": -0.1217,
          "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_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": 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": 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.3265,
        "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.3459,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5203,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.27,
          "after": 0.3265,
          "delta": 0.0565,
          "percent_delta": 0.2092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3459,
          "delta": 0.0449,
          "percent_delta": 0.1492,
          "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.457,
          "after": 0.5203,
          "delta": 0.0633,
          "percent_delta": 0.1386,
          "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.457,
          "after": 0.5203,
          "delta": 0.0633,
          "percent_delta": 0.1386,
          "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.229,
        "after": 0.0,
        "delta": -0.229,
        "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.83,
        "after": 5.0,
        "delta": 0.17,
        "percent_delta": 0.0352,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.334,
        "after": 0.3265,
        "delta": -0.0075,
        "percent_delta": -0.0225,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.134,
        "after": 0.0,
        "delta": -0.134,
        "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.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.38,
        "after": 0.3459,
        "delta": -0.0341,
        "percent_delta": -0.0897,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.529,
        "after": 0.0,
        "delta": -0.529,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.551,
        "after": 0.5203,
        "delta": -0.0307,
        "percent_delta": -0.0557,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.771,
        "after": 1.0,
        "delta": 0.229,
        "percent_delta": 0.297,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.771,
        "after": 1.0,
        "delta": 0.229,
        "percent_delta": 0.297,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.229-
predicted_3B0.006-
predicted_AB4.830-
predicted_AVG0.334-
predicted_BB0.134-
predicted_H1.610-
predicted_HR0.230-
predicted_OBP0.380-
predicted_R0.529-
predicted_RBI0.990-
predicted_SLG0.551-
predicted_SO0.771-
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.2570.027
predicted_3B0.005-0.001
predicted_AB4.386-0.444
predicted_AVG0.3380.004
predicted_BB0.131-0.003
predicted_H1.479-0.131
predicted_HBP0.070-
predicted_HR0.200-0.030
predicted_OBP0.378-0.002
predicted_R0.6070.078
predicted_RBI0.819-0.171
predicted_SLG0.551-0.000
predicted_SO0.744-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.2570.000
predicted_3B0.0050.000
predicted_AB4.3860.000
predicted_AVG0.327-0.012
predicted_BB0.130-0.001
predicted_H1.432-0.048
predicted_HBP0.0700.000
predicted_HR0.195-0.006
predicted_OBP0.346-0.032
predicted_R0.575-0.032
predicted_RBI0.775-0.044
predicted_SLG0.520-0.030
predicted_SO0.7480.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.83), rates preserved: AVG=0.285 HR/AB=0.040

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.1880.188
3B0.0090.009
BB0.1380.138
H1.0310.031
HR0.1700.170
RBI0.599-0.401
SO1.0850.085
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.812
3B0.000-0.009
AB4.0000.000
BB0.000-0.138
H1.000-0.031
HR0.000-0.170
R1.0000.000
RBI1.0000.401
SO1.000-0.085
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.257
predicted_3B0.000-0.005
predicted_AB4.000-0.386
predicted_AVG0.270-0.056
predicted_BB0.000-0.130
predicted_H1.000-0.432
predicted_HR0.000-0.195
predicted_OBP0.301-0.045
predicted_R1.0000.425
predicted_RBI1.0000.225
predicted_SLG0.457-0.063
predicted_SO1.0000.252
10. 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: 157
Reference playing time: 4.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-19.0009.0002.0000.0001.0004.0006.0000.0004.0000.47370.50000.73680.47370.05260.21050.00000.2105
last_100.2010-38.00014.0004.0000.0001.0005.0008.0002.0004.0000.36840.41460.55260.36840.02630.13160.05260.1053
season0.60157-600.000180.00036.0001.00027.00090.00083.00021.000121.0000.30000.32540.49830.30000.04500.15000.03500.2017
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2920
predicted_3B0.0040
predicted_AB3.8130
predicted_AVG0.3438
predicted_BB0.1270
predicted_H1.3110
predicted_HBP0.0700
predicted_HR0.1620
predicted_OBP0.3748
predicted_R0.7080
predicted_RBI0.5980
predicted_SLG0.5500
predicted_SO0.7090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22900.29200.2565model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.83003.81304.3859model_form_blend
predicted_AVG0.33400.34380.3383model_form_blend
predicted_BB0.13400.12700.1309model_form_blend
predicted_H1.61001.31101.4794model_form_blend
predicted_HBP-0.07000.0700form_only
predicted_HR0.23000.16200.2003model_form_blend
predicted_OBP0.38000.37480.3777model_form_blend
predicted_R0.52900.70800.6072model_form_blend
predicted_RBI0.99000.59800.8188model_form_blend
predicted_SLG0.55100.55000.5506model_form_blend
predicted_SO0.77100.70900.7439model_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 date598
Season rows before report date598
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
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.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP1
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
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
gameID20261001_PHI@ATL
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-10-01
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
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 668
All-history rows before 20261003: 668
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2536
Diff (system - data): -0.0046
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.2070.0000.000Hitting_2B0.2280.000-0.2280.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8414.0004.000Hitting_AB3.8973.0000.1031.000
predicted_AVG0.2400.2500.250Hitting_AVG0.2540.333-0.004-0.083
predicted_BB0.3901.0000.000Hitting_BB0.4301.0000.5700.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9201.0001.000Hitting_H0.9881.0000.0120.000
predicted_HR0.3400.0001.000Hitting_HR0.2651.000-0.265-1.000
predicted_OBP0.2840.4000.250Hitting_OBP0.3280.5000.072-0.100
predicted_R0.6101.0001.000Hitting_R0.6572.0000.343-1.000
predicted_RBI0.7702.0001.000Hitting_RBI0.5941.0001.4061.000
predicted_SLG0.4850.2501.000Hitting_SLG0.5161.333-0.266-1.083
predicted_SO1.0551.0001.000Hitting_SO1.0910.000-0.0911.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_RBI: 0.7700 -> 2.0000 (boost 1.2300, better)
Biggest Deboostpredicted_HR: 0.3400 -> 0.0000 (deboost -0.3400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 3.8410 -> 3.7749 (deboost -0.0661, 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_snapshot32121predicted_SLG: 0.4663 -> 0.4948 (boost 0.0285, better)predicted_AVG: 0.2314 -> 0.2239 (deboost -0.0075, 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_scaling63333predicted_RBI: 0.6940 -> 1.0000 (boost 0.3060, better)predicted_BB: 0.3523 -> 0.0000 (deboost -0.3523, worse)AB rounded to 4 (raw=3.84), rates preserved: AVG=0.212 HR/AB=0.073
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
7consistency_constraints11010predicted_R: 0.5322 -> 1.0000 (boost 0.4678, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_SO: 1.0000 -> 1.3284 (boost 0.3284, worse)predicted_RBI: 1.0000 -> 0.5426 (deboost -0.4574, 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.2001 -> 1.0000 (boost 0.7999, better)predicted_SO: 1.3284 -> 1.0000 (deboost -0.3284, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context42222predicted_AVG: 0.2239 -> 0.2380 (boost 0.0141, better)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_reference22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_SLG: 0.4510 -> 0.4948 (boost 0.0438, better)predicted_AVG: 0.2380 -> 0.2239 (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": "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.207,
        "predicted_3B": 0.0,
        "predicted_AB": 3.841,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.39,
        "predicted_H": 0.92,
        "predicted_HR": 0.34,
        "predicted_OBP": 0.284,
        "predicted_R": 0.61,
        "predicted_RBI": 0.77,
        "predicted_SLG": 0.485,
        "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.1785,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7749,
        "predicted_AVG": 0.2314,
        "predicted_BB": 0.3541,
        "predicted_H": 0.8731,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2896,
        "predicted_OBP": 0.2789,
        "predicted_R": 0.5623,
        "predicted_RBI": 0.7332,
        "predicted_SLG": 0.4663,
        "predicted_SO": 1.0432
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.1785,
          "delta": -0.0285,
          "percent_delta": -0.1377,
          "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.841,
          "after": 3.7749,
          "delta": -0.0661,
          "percent_delta": -0.0172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2314,
          "delta": -0.0086,
          "percent_delta": -0.0358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 0.3541,
          "delta": -0.0359,
          "percent_delta": -0.0921,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 0.8731,
          "delta": -0.0469,
          "percent_delta": -0.051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.34,
          "after": 0.2896,
          "delta": -0.0504,
          "percent_delta": -0.1482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2789,
          "delta": -0.0051,
          "percent_delta": -0.018,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.61,
          "after": 0.5623,
          "delta": -0.0477,
          "percent_delta": -0.0782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.77,
          "after": 0.7332,
          "delta": -0.0368,
          "percent_delta": -0.0478,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.485,
          "after": 0.4663,
          "delta": -0.0187,
          "percent_delta": -0.0386,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.055,
          "after": 1.0432,
          "delta": -0.0118,
          "percent_delta": -0.0112,
          "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": 3.841,
          "after": 3.7749,
          "delta": -0.0661,
          "percent_delta": -0.0172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 164
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1785,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7749,
        "predicted_AVG": 0.2239,
        "predicted_BB": 0.3523,
        "predicted_H": 0.8451,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.2812,
        "predicted_OBP": 0.2901,
        "predicted_R": 0.5322,
        "predicted_RBI": 0.694,
        "predicted_SLG": 0.4948,
        "predicted_SO": 1.0486
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1785,
          "after": 0.1785,
          "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.7749,
          "after": 3.7749,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2314,
          "after": 0.2239,
          "delta": -0.0075,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3541,
          "after": 0.3523,
          "delta": -0.0018,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8731,
          "after": 0.8451,
          "delta": -0.028,
          "percent_delta": -0.0321,
          "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.2896,
          "after": 0.2812,
          "delta": -0.0084,
          "percent_delta": -0.029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2789,
          "after": 0.2901,
          "delta": 0.0112,
          "percent_delta": 0.0402,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5623,
          "after": 0.5322,
          "delta": -0.0301,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7332,
          "after": 0.694,
          "delta": -0.0392,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4663,
          "after": 0.4948,
          "delta": 0.0285,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0432,
          "after": 1.0486,
          "delta": 0.0054,
          "percent_delta": 0.0052,
          "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.4663,
          "after": 0.4948,
          "delta": 0.0285,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2314,
          "after": 0.2239,
          "delta": -0.0075,
          "percent_delta": -0.0324,
          "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.84), rates preserved: AVG=0.212 HR/AB=0.073",
      "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.1785,
          "after": 0.0,
          "delta": -0.1785,
          "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.7749,
          "after": 4.0,
          "delta": 0.2251,
          "percent_delta": 0.0596,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3523,
          "after": 0.0,
          "delta": -0.3523,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8451,
          "after": 1.0,
          "delta": 0.1549,
          "percent_delta": 0.1833,
          "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.2812,
          "after": 0.0,
          "delta": -0.2812,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.694,
          "after": 1.0,
          "delta": 0.306,
          "percent_delta": 0.4409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0486,
          "after": 1.0,
          "delta": -0.0486,
          "percent_delta": -0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.694,
          "after": 1.0,
          "delta": 0.306,
          "percent_delta": 0.4409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3523,
          "after": 0.0,
          "delta": -0.3523,
          "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": 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": 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.5322,
          "after": 1.0,
          "delta": 0.4678,
          "percent_delta": 0.879,
          "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.5322,
          "after": 1.0,
          "delta": 0.4678,
          "percent_delta": 0.879,
          "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.1809,
        "predicted_3B": 0.0057,
        "predicted_BB": 0.2861,
        "predicted_H": 0.8825,
        "predicted_HR": 0.2001,
        "predicted_RBI": 0.5426,
        "predicted_SO": 1.3284
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1809,
          "delta": 0.1809,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0057,
          "delta": 0.0057,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2861,
          "delta": 0.2861,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8825,
          "delta": -0.1175,
          "percent_delta": -0.1175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2001,
          "delta": 0.2001,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5426,
          "delta": -0.4574,
          "percent_delta": -0.4574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3284,
          "delta": 0.3284,
          "percent_delta": 0.3284,
          "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.3284,
          "delta": 0.3284,
          "percent_delta": 0.3284,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5426,
          "delta": -0.4574,
          "percent_delta": -0.4574,
          "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.1809,
          "after": 0.0,
          "delta": -0.1809,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2861,
          "after": 0.0,
          "delta": -0.2861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8825,
          "after": 1.0,
          "delta": 0.1175,
          "percent_delta": 0.1331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2001,
          "after": 1.0,
          "delta": 0.7999,
          "percent_delta": 3.9975,
          "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.5426,
          "after": 1.0,
          "delta": 0.4574,
          "percent_delta": 0.843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3284,
          "after": 1.0,
          "delta": -0.3284,
          "percent_delta": -0.2472,
          "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.2001,
          "after": 1.0,
          "delta": 0.7999,
          "percent_delta": 3.9975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3284,
          "after": 1.0,
          "delta": -0.3284,
          "percent_delta": -0.2472,
          "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.238,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.451,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2239,
          "after": 0.238,
          "delta": 0.0141,
          "percent_delta": 0.063,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2901,
          "after": 0.298,
          "delta": 0.0079,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4948,
          "after": 0.451,
          "delta": -0.0438,
          "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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2239,
          "after": 0.238,
          "delta": 0.0141,
          "percent_delta": 0.063,
          "direction": "boost",
          "projection_effect": "better",
          "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": 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": 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": 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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 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": 4.0,
        "predicted_AVG": 0.2239,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2901,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4948,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2239,
          "delta": -0.0141,
          "percent_delta": -0.0594,
          "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.298,
          "after": 0.2901,
          "delta": -0.0079,
          "percent_delta": -0.0265,
          "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.451,
          "after": 0.4948,
          "delta": 0.0438,
          "percent_delta": 0.0972,
          "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.451,
          "after": 0.4948,
          "delta": 0.0438,
          "percent_delta": 0.0972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2239,
          "delta": -0.0141,
          "percent_delta": -0.0594,
          "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.207,
        "after": 0.0,
        "delta": -0.207,
        "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.841,
        "after": 4.0,
        "delta": 0.159,
        "percent_delta": 0.0414,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2239,
        "delta": -0.0161,
        "percent_delta": -0.0671,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 1.0,
        "delta": 0.61,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 1.0,
        "delta": 0.08,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.2901,
        "delta": 0.0061,
        "percent_delta": 0.0215,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.485,
        "after": 0.4948,
        "delta": 0.0098,
        "percent_delta": 0.0202,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.055,
        "after": 1.0,
        "delta": -0.055,
        "percent_delta": -0.0521,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.34,
        "after": 0.0,
        "delta": -0.34,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.207-
predicted_3B0.000-
predicted_AB3.841-
predicted_AVG0.240-
predicted_BB0.390-
predicted_H0.920-
predicted_HR0.340-
predicted_OBP0.284-
predicted_R0.610-
predicted_RBI0.770-
predicted_SLG0.485-
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.178-0.028
predicted_3B0.0000.000
predicted_AB3.775-0.066
predicted_AVG0.231-0.009
predicted_BB0.354-0.036
predicted_H0.873-0.047
predicted_HBP0.011-
predicted_HR0.290-0.050
predicted_OBP0.279-0.005
predicted_R0.562-0.048
predicted_RBI0.733-0.037
predicted_SLG0.466-0.019
predicted_SO1.043-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.1780.000
predicted_3B0.0000.000
predicted_AB3.7750.000
predicted_AVG0.224-0.008
predicted_BB0.352-0.002
predicted_H0.845-0.028
predicted_HBP0.0110.000
predicted_HR0.281-0.008
predicted_OBP0.2900.011
predicted_R0.532-0.030
predicted_RBI0.694-0.039
predicted_SLG0.4950.029
predicted_SO1.0490.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.84), rates preserved: AVG=0.212 HR/AB=0.073

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.300)

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.1810.181
3B0.0060.006
BB0.2860.286
H0.882-0.118
HR0.2000.200
RBI0.543-0.457
SO1.3280.328
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.181
3B0.000-0.006
AB4.0000.000
BB0.000-0.286
H1.0000.118
HR1.0000.800
R1.0000.000
RBI1.0000.457
SO1.000-0.328
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.000
predicted_AB4.0000.225
predicted_AVG0.2380.014
predicted_BB0.000-0.352
predicted_H1.0000.155
predicted_HR0.000-0.281
predicted_OBP0.2980.008
predicted_R1.0000.468
predicted_RBI1.0000.306
predicted_SLG0.451-0.044
predicted_SO1.000-0.049
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
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA5.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: 164
Reference playing time: 3.841
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.0001.0005.0002.0001.0006.0000.17650.20000.35290.17650.05880.29410.05880.3529
last_100.2010-35.0006.0001.0000.0002.0007.0003.0002.0008.0000.17140.20000.37140.17140.05710.20000.05710.2286
season0.60164-630.000157.00034.0000.00041.00094.000100.00064.000173.0000.24920.31820.49840.24920.06510.14920.10160.2746
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1420
predicted_3B0.0010
predicted_AB3.6900
predicted_AVG0.2203
predicted_BB0.3080
predicted_H0.8130
predicted_HBP0.0110
predicted_HR0.2250
predicted_OBP0.2723
predicted_R0.5010
predicted_RBI0.6860
predicted_SLG0.4424
predicted_SO1.0280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.14200.1785model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.84103.69003.7749model_form_blend
predicted_AVG0.24000.22030.2314model_form_blend
predicted_BB0.39000.30800.3541model_form_blend
predicted_H0.92000.81300.8731model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.34000.22500.2896model_form_blend
predicted_OBP0.28400.27230.2789model_form_blend
predicted_R0.61000.50100.5623model_form_blend
predicted_RBI0.77000.68600.7332model_form_blend
predicted_SLG0.48500.44240.4663model_form_blend
predicted_SO1.05501.02801.0432model_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 date668
Season rows before report date668
Report year2026
Profile rows used164
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
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.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed1B
gameID20261001_PHI@ATL
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-10-01
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
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 20261003: 444
All-history rows before 20261003: 444
System season_avg: 0.2540
Data season_avg (2026 season-to-date): 0.2571
Diff (system - data): -0.0031
System opponent_avg: 0.1780

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1650.0000.000Hitting_2B0.1800.000-0.1800.000
predicted_3B0.0090.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB4.2105.0004.000Hitting_AB3.8723.0001.1282.000
predicted_AVG0.2290.2000.250Hitting_AVG0.2570.333-0.057-0.133
predicted_BB0.5050.0001.000Hitting_BB0.5321.000-0.532-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0770.000-0.0770.000
predicted_H0.9601.0001.000Hitting_H0.9951.0000.0050.000
predicted_HR0.2001.0000.000Hitting_HR0.1870.0000.8131.000
predicted_OBP0.3280.2000.400Hitting_OBP0.3510.500-0.151-0.300
predicted_R0.5781.0001.000Hitting_R0.5811.0000.4190.000
predicted_RBI0.4602.0000.000Hitting_RBI0.5110.0001.4892.000
predicted_SLG0.3990.8000.250Hitting_SLG0.4530.3330.3470.467
predicted_SO0.9542.0001.000Hitting_SO0.9800.0001.0202.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_RBI: 0.4600 -> 2.0000 (boost 1.5400, better)
Biggest Deboostpredicted_BB: 0.5050 -> 0.0000 (deboost -0.5050, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.2100 -> 3.9915 (deboost -0.2185, 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.3244 -> 0.3018 (deboost -0.0226, 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.8467 -> 1.0000 (boost 0.1533, better)predicted_BB: 0.5127 -> 0.0000 (deboost -0.5127, worse)AB rounded to 4 (raw=4.21), rates preserved: AVG=0.194 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.5249 -> 1.0000 (boost 0.4751, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4765 (boost 0.4765, better)predicted_H: 1.0000 -> 0.8802 (deboost -0.1198, 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.4152 -> 1.0000 (boost 0.5848, better)predicted_RBI: 0.4765 -> 0.0000 (deboost -0.4765, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.3799 -> 0.4120 (boost 0.0321, 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_reference44031predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4120 -> 0.3799 (deboost -0.0321, 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.165,
        "predicted_3B": 0.009,
        "predicted_AB": 4.21,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.505,
        "predicted_H": 0.96,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.328,
        "predicted_R": 0.578,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.399,
        "predicted_SO": 0.954
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1373,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.9915,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.5154,
        "predicted_H": 0.8748,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.1775,
        "predicted_OBP": 0.3244,
        "predicted_R": 0.5546,
        "predicted_RBI": 0.4449,
        "predicted_SLG": 0.3807,
        "predicted_SO": 0.9086
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1373,
          "delta": -0.0277,
          "percent_delta": -0.1679,
          "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": 4.21,
          "after": 3.9915,
          "delta": -0.2185,
          "percent_delta": -0.0519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.219,
          "delta": -0.01,
          "percent_delta": -0.0437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.505,
          "after": 0.5154,
          "delta": 0.0104,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.8748,
          "delta": -0.0852,
          "percent_delta": -0.0887,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.1775,
          "delta": -0.0225,
          "percent_delta": -0.1125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3244,
          "delta": -0.0036,
          "percent_delta": -0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.578,
          "after": 0.5546,
          "delta": -0.0234,
          "percent_delta": -0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.4449,
          "delta": -0.0151,
          "percent_delta": -0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.3807,
          "delta": -0.0183,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.954,
          "after": 0.9086,
          "delta": -0.0454,
          "percent_delta": -0.0476,
          "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.21,
          "after": 3.9915,
          "delta": -0.2185,
          "percent_delta": -0.0519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 109
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1373,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.9915,
        "predicted_AVG": 0.2121,
        "predicted_BB": 0.5127,
        "predicted_H": 0.8467,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.1724,
        "predicted_OBP": 0.3018,
        "predicted_R": 0.5249,
        "predicted_RBI": 0.4211,
        "predicted_SLG": 0.3799,
        "predicted_SO": 0.9133
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1373,
          "after": 0.1373,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9915,
          "after": 3.9915,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2121,
          "delta": -0.0069,
          "percent_delta": -0.0315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5154,
          "after": 0.5127,
          "delta": -0.0027,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8748,
          "after": 0.8467,
          "delta": -0.0281,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.091,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1775,
          "after": 0.1724,
          "delta": -0.0051,
          "percent_delta": -0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3244,
          "after": 0.3018,
          "delta": -0.0226,
          "percent_delta": -0.0697,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5546,
          "after": 0.5249,
          "delta": -0.0297,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4449,
          "after": 0.4211,
          "delta": -0.0238,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3807,
          "after": 0.3799,
          "delta": -0.0008,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9086,
          "after": 0.9133,
          "delta": 0.0047,
          "percent_delta": 0.0052,
          "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.3244,
          "after": 0.3018,
          "delta": -0.0226,
          "percent_delta": -0.0697,
          "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.21), rates preserved: AVG=0.194 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.1373,
          "after": 0.0,
          "delta": -0.1373,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9915,
          "after": 4.0,
          "delta": 0.0085,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5127,
          "after": 0.0,
          "delta": -0.5127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8467,
          "after": 1.0,
          "delta": 0.1533,
          "percent_delta": 0.1811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.0,
          "delta": -0.091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1724,
          "after": 0.0,
          "delta": -0.1724,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4211,
          "after": 0.0,
          "delta": -0.4211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9133,
          "after": 1.0,
          "delta": 0.0867,
          "percent_delta": 0.0949,
          "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.8467,
          "after": 1.0,
          "delta": 0.1533,
          "percent_delta": 0.1811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5127,
          "after": 0.0,
          "delta": -0.5127,
          "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.5249,
          "after": 1.0,
          "delta": 0.4751,
          "percent_delta": 0.9051,
          "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.5249,
          "after": 1.0,
          "delta": 0.4751,
          "percent_delta": 0.9051,
          "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.1783,
        "predicted_3B": 0.0083,
        "predicted_BB": 0.4152,
        "predicted_H": 0.8802,
        "predicted_HR": 0.1687,
        "predicted_RBI": 0.4765,
        "predicted_SO": 1.1418
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1783,
          "delta": 0.1783,
          "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.4152,
          "delta": 0.4152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8802,
          "delta": -0.1198,
          "percent_delta": -0.1198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1687,
          "delta": 0.1687,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4765,
          "delta": 0.4765,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1418,
          "delta": 0.1418,
          "percent_delta": 0.1418,
          "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.4765,
          "delta": 0.4765,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8802,
          "delta": -0.1198,
          "percent_delta": -0.1198,
          "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.1783,
          "after": 0.0,
          "delta": -0.1783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0083,
          "after": 0.0,
          "delta": -0.0083,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4152,
          "after": 1.0,
          "delta": 0.5848,
          "percent_delta": 1.4085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8802,
          "after": 1.0,
          "delta": 0.1198,
          "percent_delta": 0.1361,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1687,
          "after": 0.0,
          "delta": -0.1687,
          "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.4765,
          "after": 0.0,
          "delta": -0.4765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1418,
          "after": 1.0,
          "delta": -0.1418,
          "percent_delta": -0.1242,
          "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.4152,
          "after": 1.0,
          "delta": 0.5848,
          "percent_delta": 1.4085,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4765,
          "after": 0.0,
          "delta": -0.4765,
          "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.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.412,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2121,
          "after": 0.229,
          "delta": 0.0169,
          "percent_delta": 0.0797,
          "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.3018,
          "after": 0.31,
          "delta": 0.0082,
          "percent_delta": 0.0272,
          "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.3799,
          "after": 0.412,
          "delta": 0.0321,
          "percent_delta": 0.0845,
          "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.3799,
          "after": 0.412,
          "delta": 0.0321,
          "percent_delta": 0.0845,
          "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": 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": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_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": 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.2121,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3018,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3799,
        "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.229,
          "after": 0.2121,
          "delta": -0.0169,
          "percent_delta": -0.0737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3018,
          "delta": -0.0082,
          "percent_delta": -0.0264,
          "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.412,
          "after": 0.3799,
          "delta": -0.0321,
          "percent_delta": -0.0778,
          "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.412,
          "after": 0.3799,
          "delta": -0.0321,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.21,
        "after": 5.0,
        "delta": 0.79,
        "percent_delta": 0.1876,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2121,
        "delta": -0.0169,
        "percent_delta": -0.0738,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.505,
        "after": 0.0,
        "delta": -0.505,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 1.0,
        "delta": 0.04,
        "percent_delta": 0.0417,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.328,
        "after": 0.3018,
        "delta": -0.0262,
        "percent_delta": -0.0799,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.578,
        "after": 1.0,
        "delta": 0.422,
        "percent_delta": 0.7301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.399,
        "after": 0.3799,
        "delta": -0.0191,
        "percent_delta": -0.0479,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.954,
        "after": 2.0,
        "delta": 1.046,
        "percent_delta": 1.0964,
        "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_RBI",
        "before": 0.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.505,
        "after": 0.0,
        "delta": -0.505,
        "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.165-
predicted_3B0.009-
predicted_AB4.210-
predicted_AVG0.229-
predicted_BB0.505-
predicted_H0.960-
predicted_HR0.200-
predicted_OBP0.328-
predicted_R0.578-
predicted_RBI0.460-
predicted_SLG0.399-
predicted_SO0.954-
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.137-0.028
predicted_3B0.008-0.001
predicted_AB3.991-0.219
predicted_AVG0.219-0.010
predicted_BB0.5150.010
predicted_H0.875-0.085
predicted_HBP0.091-
predicted_HR0.177-0.023
predicted_OBP0.324-0.004
predicted_R0.555-0.023
predicted_RBI0.445-0.015
predicted_SLG0.381-0.018
predicted_SO0.909-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.1370.000
predicted_3B0.0080.000
predicted_AB3.9910.000
predicted_AVG0.212-0.007
predicted_BB0.513-0.003
predicted_H0.847-0.028
predicted_HBP0.0910.000
predicted_HR0.172-0.005
predicted_OBP0.302-0.023
predicted_R0.525-0.030
predicted_RBI0.421-0.024
predicted_SLG0.380-0.001
predicted_SO0.9130.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=4.21), rates preserved: AVG=0.194 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.1780.178
3B0.0080.008
BB0.4150.415
H0.880-0.120
HR0.1690.169
RBI0.4760.476
SO1.1420.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.178
3B0.000-0.008
AB4.0000.000
BB1.0000.585
H1.0000.120
HR0.000-0.169
R1.0000.000
RBI0.000-0.476
SO1.000-0.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.137
predicted_3B0.000-0.008
predicted_AB4.0000.009
predicted_AVG0.2290.017
predicted_BB0.000-0.513
predicted_H1.0000.153
predicted_HR0.000-0.172
predicted_OBP0.3100.008
predicted_R1.0000.475
predicted_RBI0.000-0.421
predicted_SLG0.4120.032
predicted_SO1.0000.087
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
HR1.0001.000
PA5.000-
R1.0000.000
RBI2.0002.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: 109
Reference playing time: 4.210
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.0000.0002.0003.0004.0000.05560.22730.05560.05560.00000.00000.16670.2222
last_100.2010-35.0007.0000.0000.0002.0006.0005.0006.0006.0000.20000.33330.37140.20000.05710.17140.17140.1714
season0.60109-414.000105.00018.0001.00020.00055.00063.00055.000104.0000.25360.34730.44690.25360.04830.13280.13280.2512
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1010
predicted_3B0.0060
predicted_AB3.7050
predicted_AVG0.2059
predicted_BB0.5290
predicted_H0.7630
predicted_HBP0.0910
predicted_HR0.1480
predicted_OBP0.3196
predicted_R0.5240
predicted_RBI0.4250
predicted_SLG0.3567
predicted_SO0.8490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.10100.1373model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB4.21003.70503.9915model_form_blend
predicted_AVG0.22900.20590.2190model_form_blend
predicted_BB0.50500.52900.5154model_form_blend
predicted_H0.96000.76300.8748model_form_blend
predicted_HBP-0.09100.0910form_only
predicted_HR0.20000.14800.1775model_form_blend
predicted_OBP0.32800.31960.3244model_form_blend
predicted_R0.57800.52400.5546model_form_blend
predicted_RBI0.46000.42500.4449model_form_blend
predicted_SLG0.39900.35670.3807model_form_blend
predicted_SO0.95400.84900.9086model_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 date444
Season rows before report date444
Report year2026
Profile rows used109
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
RBI2
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.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_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
gameID20261001_PHI@ATL
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-10-01
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
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 20261003: 592
All-history rows before 20261003: 592
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2783
Diff (system - data): -0.0013
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.1870.0000.000Hitting_2B0.1930.000-0.1930.000
predicted_3B0.0191.0000.000Hitting_3B0.0220.0000.9781.000
predicted_AB4.3104.0004.000Hitting_AB3.8244.0000.1760.000
predicted_AVG0.2530.5000.250Hitting_AVG0.2780.0000.2220.500
predicted_BB0.2260.0000.000Hitting_BB0.2450.000-0.2450.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.0902.0001.000Hitting_H1.0640.0000.9362.000
predicted_HR0.1000.0000.000Hitting_HR0.0810.000-0.0810.000
predicted_OBP0.3110.5000.250Hitting_OBP0.3250.0000.1750.500
predicted_R0.4261.0000.000Hitting_R0.4480.0000.5521.000
predicted_RBI0.4700.0000.000Hitting_RBI0.5100.000-0.5100.000
predicted_SLG0.4041.0000.250Hitting_SLG0.4040.0000.5961.000
predicted_SO0.4901.0001.000Hitting_SO0.4851.0000.5150.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_3B: 0.0190 -> 1.0000 (boost 0.9810, better)
Biggest Deboostpredicted_RBI: 0.4700 -> 0.0000 (deboost -0.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2530 -> 0.2625 (boost 0.0095, better)predicted_AB: 4.3100 -> 4.1031 (deboost -0.2069, 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.4086 -> 0.3805 (deboost -0.0281, 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.5259 -> 1.0000 (boost 0.4741, worse)predicted_RBI: 0.4275 -> 0.0000 (deboost -0.4275, worse)AB rounded to 4 (raw=4.31), rates preserved: AVG=0.232 HR/AB=0.023
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
7consistency_constraints10101-predicted_R: 0.3859 -> 0.0000 (deboost -0.3859, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4746 (boost 0.4746, better)predicted_SO: 1.0000 -> 0.6885 (deboost -0.3115, 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.6885 -> 1.0000 (boost 0.3115, worse)predicted_RBI: 0.4746 -> 0.0000 (deboost -0.4746, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context10101-predicted_AVG: 0.2534 -> 0.2390 (deboost -0.0144, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final11010predicted_AVG: 0.2390 -> 0.2534 (boost 0.0144, 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.187,
        "predicted_3B": 0.019,
        "predicted_AB": 4.31,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.226,
        "predicted_H": 1.09,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.311,
        "predicted_R": 0.426,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.404,
        "predicted_SO": 0.49
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1892,
        "predicted_3B": 0.0159,
        "predicted_AB": 4.1031,
        "predicted_AVG": 0.2625,
        "predicted_BB": 0.1989,
        "predicted_H": 1.0743,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1031,
        "predicted_OBP": 0.3088,
        "predicted_R": 0.4077,
        "predicted_RBI": 0.4517,
        "predicted_SLG": 0.4086,
        "predicted_SO": 0.5232
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.187,
          "after": 0.1892,
          "delta": 0.0022,
          "percent_delta": 0.0118,
          "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": 4.31,
          "after": 4.1031,
          "delta": -0.2069,
          "percent_delta": -0.048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2625,
          "delta": 0.0095,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.226,
          "after": 0.1989,
          "delta": -0.0271,
          "percent_delta": -0.1199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 1.0743,
          "delta": -0.0157,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1031,
          "delta": 0.0031,
          "percent_delta": 0.031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3088,
          "delta": -0.0022,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.426,
          "after": 0.4077,
          "delta": -0.0183,
          "percent_delta": -0.043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.4517,
          "delta": -0.0183,
          "percent_delta": -0.0389,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4086,
          "delta": 0.0046,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.49,
          "after": 0.5232,
          "delta": 0.0332,
          "percent_delta": 0.0678,
          "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.253,
          "after": 0.2625,
          "delta": 0.0095,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.31,
          "after": 4.1031,
          "delta": -0.2069,
          "percent_delta": -0.048,
          "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": 155
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1892,
        "predicted_3B": 0.0159,
        "predicted_AB": 4.1031,
        "predicted_AVG": 0.2534,
        "predicted_BB": 0.1979,
        "predicted_H": 1.0398,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1001,
        "predicted_OBP": 0.2878,
        "predicted_R": 0.3859,
        "predicted_RBI": 0.4275,
        "predicted_SLG": 0.3805,
        "predicted_SO": 0.5259
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1892,
          "after": 0.1892,
          "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": 4.1031,
          "after": 4.1031,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2625,
          "after": 0.2534,
          "delta": -0.0091,
          "percent_delta": -0.0347,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1989,
          "after": 0.1979,
          "delta": -0.001,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0743,
          "after": 1.0398,
          "delta": -0.0345,
          "percent_delta": -0.0321,
          "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.1031,
          "after": 0.1001,
          "delta": -0.003,
          "percent_delta": -0.0291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3088,
          "after": 0.2878,
          "delta": -0.021,
          "percent_delta": -0.068,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4077,
          "after": 0.3859,
          "delta": -0.0218,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4517,
          "after": 0.4275,
          "delta": -0.0242,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4086,
          "after": 0.3805,
          "delta": -0.0281,
          "percent_delta": -0.0688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5232,
          "after": 0.5259,
          "delta": 0.0027,
          "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.4086,
          "after": 0.3805,
          "delta": -0.0281,
          "percent_delta": -0.0688,
          "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.31), rates preserved: AVG=0.232 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.1892,
          "after": 0.0,
          "delta": -0.1892,
          "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": 4.1031,
          "after": 4.0,
          "delta": -0.1031,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1979,
          "after": 0.0,
          "delta": -0.1979,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0398,
          "after": 1.0,
          "delta": -0.0398,
          "percent_delta": -0.0383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1001,
          "after": 0.0,
          "delta": -0.1001,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4275,
          "after": 0.0,
          "delta": -0.4275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5259,
          "after": 1.0,
          "delta": 0.4741,
          "percent_delta": 0.9015,
          "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.5259,
          "after": 1.0,
          "delta": 0.4741,
          "percent_delta": 0.9015,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4275,
          "after": 0.0,
          "delta": -0.4275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.3859,
          "after": 0.0,
          "delta": -0.3859,
          "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.3859,
          "after": 0.0,
          "delta": -0.3859,
          "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.1721,
        "predicted_3B": 0.0098,
        "predicted_BB": 0.224,
        "predicted_H": 0.8776,
        "predicted_HR": 0.1109,
        "predicted_RBI": 0.4746,
        "predicted_SO": 0.6885
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1721,
          "delta": 0.1721,
          "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.224,
          "delta": 0.224,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8776,
          "delta": -0.1224,
          "percent_delta": -0.1224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1109,
          "delta": 0.1109,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4746,
          "delta": 0.4746,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6885,
          "delta": -0.3115,
          "percent_delta": -0.3115,
          "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.4746,
          "delta": 0.4746,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6885,
          "delta": -0.3115,
          "percent_delta": -0.3115,
          "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.1721,
          "after": 0.0,
          "delta": -0.1721,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.224,
          "after": 0.0,
          "delta": -0.224,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8776,
          "after": 1.0,
          "delta": 0.1224,
          "percent_delta": 0.1395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1109,
          "after": 0.0,
          "delta": -0.1109,
          "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.4746,
          "after": 0.0,
          "delta": -0.4746,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6885,
          "after": 1.0,
          "delta": 0.3115,
          "percent_delta": 0.4524,
          "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.6885,
          "after": 1.0,
          "delta": 0.3115,
          "percent_delta": 0.4524,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4746,
          "after": 0.0,
          "delta": -0.4746,
          "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.239,
        "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.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2534,
          "after": 0.239,
          "delta": -0.0144,
          "percent_delta": -0.0568,
          "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.2878,
          "after": 0.289,
          "delta": 0.0012,
          "percent_delta": 0.0042,
          "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.3805,
          "after": 0.382,
          "delta": 0.0015,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_AVG",
          "before": 0.2534,
          "after": 0.239,
          "delta": -0.0144,
          "percent_delta": -0.0568,
          "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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.2534,
        "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.2878,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3805,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "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.239,
          "after": 0.2534,
          "delta": 0.0144,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.289,
          "after": 0.2878,
          "delta": -0.0012,
          "percent_delta": -0.0043,
          "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.382,
          "after": 0.3805,
          "delta": -0.0015,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_AVG",
          "before": 0.239,
          "after": 0.2534,
          "delta": 0.0144,
          "percent_delta": 0.0603,
          "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.187,
        "after": 0.0,
        "delta": -0.187,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 1.0,
        "delta": 0.981,
        "percent_delta": 51.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.31,
        "after": 4.0,
        "delta": -0.31,
        "percent_delta": -0.0719,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2534,
        "delta": 0.0004,
        "percent_delta": 0.0016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.226,
        "after": 0.0,
        "delta": -0.226,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 2.0,
        "delta": 0.91,
        "percent_delta": 0.8349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.311,
        "after": 0.2878,
        "delta": -0.0232,
        "percent_delta": -0.0746,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.426,
        "after": 1.0,
        "delta": 0.574,
        "percent_delta": 1.3474,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.3805,
        "delta": -0.0235,
        "percent_delta": -0.0582,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 1.0,
        "delta": 0.981,
        "percent_delta": 51.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "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.187-
predicted_3B0.019-
predicted_AB4.310-
predicted_AVG0.253-
predicted_BB0.226-
predicted_H1.090-
predicted_HR0.100-
predicted_OBP0.311-
predicted_R0.426-
predicted_RBI0.470-
predicted_SLG0.404-
predicted_SO0.490-
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.002
predicted_3B0.016-0.003
predicted_AB4.103-0.207
predicted_AVG0.2630.010
predicted_BB0.199-0.027
predicted_H1.074-0.016
predicted_HBP0.017-
predicted_HR0.1030.003
predicted_OBP0.309-0.002
predicted_R0.408-0.018
predicted_RBI0.452-0.018
predicted_SLG0.4090.005
predicted_SO0.5230.033
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.0160.000
predicted_AB4.1030.000
predicted_AVG0.253-0.009
predicted_BB0.198-0.001
predicted_H1.040-0.034
predicted_HBP0.0170.000
predicted_HR0.100-0.003
predicted_OBP0.288-0.021
predicted_R0.386-0.022
predicted_RBI0.427-0.024
predicted_SLG0.381-0.028
predicted_SO0.5260.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.31), rates preserved: AVG=0.232 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.083)

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.0100.010
BB0.2240.224
H0.878-0.122
HR0.1110.111
RBI0.4750.475
SO0.689-0.311
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.010
AB4.0000.000
BB0.000-0.224
H1.0000.122
HR0.000-0.111
R0.0000.000
RBI0.000-0.475
SO1.0000.311
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.189
predicted_3B0.000-0.016
predicted_AB4.000-0.103
predicted_AVG0.239-0.014
predicted_BB0.000-0.198
predicted_H1.000-0.040
predicted_HR0.000-0.100
predicted_OBP0.2890.001
predicted_R0.000-0.386
predicted_RBI0.000-0.427
predicted_SLG0.3820.002
predicted_SO1.0000.474
11. 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.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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 155
Reference playing time: 4.310
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.0001.0002.0001.0000.0003.0000.25000.25000.45000.25000.05000.10000.00000.1500
last_100.2010-40.00012.0002.0000.0001.0003.0004.0001.0007.0000.30000.31710.42500.30000.02500.07500.02500.1750
season0.60155-578.000160.00029.0003.00012.00073.00066.00035.00076.0000.27680.32100.39970.27680.02080.12630.06050.1315
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1920
predicted_3B0.0120
predicted_AB3.8360
predicted_AVG0.2748
predicted_BB0.1640
predicted_H1.0540
predicted_HBP0.0170
predicted_HR0.1070
predicted_OBP0.3060
predicted_R0.3840
predicted_RBI0.4280
predicted_SLG0.4145
predicted_SO0.5660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18700.19200.1892model_form_blend
predicted_3B0.01900.01200.0159model_form_blend
predicted_AB4.31003.83604.1031model_form_blend
predicted_AVG0.25300.27480.2625model_form_blend
predicted_BB0.22600.16400.1989model_form_blend
predicted_H1.09001.05401.0743model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.10000.10700.1031model_form_blend
predicted_OBP0.31100.30600.3088model_form_blend
predicted_R0.42600.38400.4077model_form_blend
predicted_RBI0.47000.42800.4517model_form_blend
predicted_SLG0.40400.41450.4086model_form_blend
predicted_SO0.49000.56600.5232model_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 used155
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
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
allPositionsPlayedSS
gameID20261001_PHI@ATL
game_typefull
mlbID643289
playerID643289
playerNameMauricio Dubón
posLF
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-10-01
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
Sean Murphy (669221) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 104
All-history rows before 20261003: 104
System season_avg: 0.1860
Data season_avg (2026 season-to-date): 0.1972
Diff (system - data): -0.0112
System opponent_avg: 0.2370

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1470.0000.000Hitting_2B0.1541.000-0.154-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3604.0003.000Hitting_AB3.4623.0000.5381.000
predicted_AVG0.1850.0000.333Hitting_AVG0.1970.333-0.197-0.333
predicted_BB0.3530.0000.000Hitting_BB0.3171.000-0.317-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6200.0001.000Hitting_H0.6831.000-0.683-1.000
predicted_HR0.0700.0000.000Hitting_HR0.1250.000-0.1250.000
predicted_OBP0.2940.0000.333Hitting_OBP0.2650.500-0.265-0.500
predicted_R0.3530.0000.000Hitting_R0.4131.000-0.413-1.000
predicted_RBI0.2600.0000.000Hitting_RBI0.4230.000-0.4230.000
predicted_SLG0.3020.0000.333Hitting_SLG0.3500.667-0.350-0.667
predicted_SO1.0882.0001.000Hitting_SO1.2310.0000.7692.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.0880 -> 2.0000 (boost 0.9120, worse)
Biggest Deboostpredicted_H: 0.6200 -> 0.0000 (deboost -0.6200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21120predicted_AVG: 0.1850 -> 0.1913 (boost 0.0063, better)predicted_SO: 1.0880 -> 1.0207 (deboost -0.0673, 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_OBP: 0.2920 -> 0.2666 (deboost -0.0254, 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_H: 0.6203 -> 1.0000 (boost 0.3797, better)predicted_BB: 0.3730 -> 0.0000 (deboost -0.3730, worse)AB rounded to 3 (raw=3.36), rates preserved: AVG=0.178 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints10101-predicted_R: 0.3304 -> 0.0000 (deboost -0.3304, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3698 (boost 0.3698, better)predicted_H: 1.0000 -> 0.6992 (deboost -0.3008, 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.6992 -> 1.0000 (boost 0.3008, better)predicted_RBI: 0.3698 -> 0.0000 (deboost -0.3698, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2895 -> 0.3760 (boost 0.0865, 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.3760 -> 0.2895 (deboost -0.0865, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669221",
  "player_name": "Sean Murphy",
  "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.147,
        "predicted_3B": 0.0,
        "predicted_AB": 3.36,
        "predicted_AVG": 0.185,
        "predicted_BB": 0.353,
        "predicted_H": 0.62,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.294,
        "predicted_R": 0.353,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.302,
        "predicted_SO": 1.088
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0012,
        "predicted_AB": 3.3537,
        "predicted_AVG": 0.1913,
        "predicted_BB": 0.375,
        "predicted_H": 0.6409,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.068,
        "predicted_OBP": 0.292,
        "predicted_R": 0.3491,
        "predicted_RBI": 0.2596,
        "predicted_SLG": 0.3042,
        "predicted_SO": 1.0207
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.147,
          "after": 0.1501,
          "delta": 0.0031,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0012,
          "delta": 0.0012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.36,
          "after": 3.3537,
          "delta": -0.0063,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.185,
          "after": 0.1913,
          "delta": 0.0063,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.353,
          "after": 0.375,
          "delta": 0.022,
          "percent_delta": 0.0623,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.62,
          "after": 0.6409,
          "delta": 0.0209,
          "percent_delta": 0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.068,
          "delta": -0.002,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.292,
          "delta": -0.002,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.353,
          "after": 0.3491,
          "delta": -0.0039,
          "percent_delta": -0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.2596,
          "delta": -0.0004,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.302,
          "after": 0.3042,
          "delta": 0.0022,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.088,
          "after": 1.0207,
          "delta": -0.0673,
          "percent_delta": -0.0619,
          "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_AVG",
          "before": 0.185,
          "after": 0.1913,
          "delta": 0.0063,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.088,
          "after": 1.0207,
          "delta": -0.0673,
          "percent_delta": -0.0619,
          "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": 34
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1501,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.3537,
        "predicted_AVG": 0.185,
        "predicted_BB": 0.373,
        "predicted_H": 0.6203,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.066,
        "predicted_OBP": 0.2666,
        "predicted_R": 0.3304,
        "predicted_RBI": 0.2457,
        "predicted_SLG": 0.2895,
        "predicted_SO": 1.026
      },
      "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.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3537,
          "after": 3.3537,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1913,
          "after": 0.185,
          "delta": -0.0063,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.375,
          "after": 0.373,
          "delta": -0.002,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6409,
          "after": 0.6203,
          "delta": -0.0206,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.068,
          "after": 0.066,
          "delta": -0.002,
          "percent_delta": -0.0294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.292,
          "after": 0.2666,
          "delta": -0.0254,
          "percent_delta": -0.087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3491,
          "after": 0.3304,
          "delta": -0.0187,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2596,
          "after": 0.2457,
          "delta": -0.0139,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3042,
          "after": 0.2895,
          "delta": -0.0147,
          "percent_delta": -0.0483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0207,
          "after": 1.026,
          "delta": 0.0053,
          "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_OBP",
          "before": 0.292,
          "after": 0.2666,
          "delta": -0.0254,
          "percent_delta": -0.087,
          "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.36), rates preserved: AVG=0.178 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.1501,
          "after": 0.0,
          "delta": -0.1501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3537,
          "after": 3.0,
          "delta": -0.3537,
          "percent_delta": -0.1055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.6203,
          "after": 1.0,
          "delta": 0.3797,
          "percent_delta": 0.6121,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.066,
          "after": 0.0,
          "delta": -0.066,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2457,
          "after": 0.0,
          "delta": -0.2457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.026,
          "after": 1.0,
          "delta": -0.026,
          "percent_delta": -0.0253,
          "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.6203,
          "after": 1.0,
          "delta": 0.3797,
          "percent_delta": 0.6121,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.373,
          "after": 0.0,
          "delta": -0.373,
          "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.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3304,
          "after": 0.0,
          "delta": -0.3304,
          "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.3304,
          "after": 0.0,
          "delta": -0.3304,
          "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.1439,
        "predicted_3B": 0.0068,
        "predicted_BB": 0.2928,
        "predicted_H": 0.6992,
        "predicted_HR": 0.1198,
        "predicted_RBI": 0.3698,
        "predicted_SO": 1.178
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1439,
          "delta": 0.1439,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0068,
          "delta": 0.0068,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2928,
          "delta": 0.2928,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6992,
          "delta": -0.3008,
          "percent_delta": -0.3008,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1198,
          "delta": 0.1198,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3698,
          "delta": 0.3698,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.178,
          "delta": 0.178,
          "percent_delta": 0.178,
          "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.3698,
          "delta": 0.3698,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6992,
          "delta": -0.3008,
          "percent_delta": -0.3008,
          "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.1439,
          "after": 0.0,
          "delta": -0.1439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0068,
          "after": 0.0,
          "delta": -0.0068,
          "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.2928,
          "after": 0.0,
          "delta": -0.2928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6992,
          "after": 1.0,
          "delta": 0.3008,
          "percent_delta": 0.4302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1198,
          "after": 0.0,
          "delta": -0.1198,
          "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.3698,
          "after": 0.0,
          "delta": -0.3698,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.178,
          "after": 1.0,
          "delta": -0.178,
          "percent_delta": -0.1511,
          "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.6992,
          "after": 1.0,
          "delta": 0.3008,
          "percent_delta": 0.4302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3698,
          "after": 0.0,
          "delta": -0.3698,
          "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.216,
        "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.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.185,
          "after": 0.216,
          "delta": 0.031,
          "percent_delta": 0.1676,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2666,
          "after": 0.287,
          "delta": 0.0204,
          "percent_delta": 0.0765,
          "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.2895,
          "after": 0.376,
          "delta": 0.0865,
          "percent_delta": 0.2988,
          "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.2895,
          "after": 0.376,
          "delta": 0.0865,
          "percent_delta": 0.2988,
          "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.185,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2666,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2895,
        "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.216,
          "after": 0.185,
          "delta": -0.031,
          "percent_delta": -0.1437,
          "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.287,
          "after": 0.2666,
          "delta": -0.0204,
          "percent_delta": -0.0712,
          "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.376,
          "after": 0.2895,
          "delta": -0.0865,
          "percent_delta": -0.23,
          "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.376,
          "after": 0.2895,
          "delta": -0.0865,
          "percent_delta": -0.23,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.147,
        "after": 0.0,
        "delta": -0.147,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.36,
        "after": 4.0,
        "delta": 0.64,
        "percent_delta": 0.1905,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.185,
        "after": 0.185,
        "delta": 0.0,
        "percent_delta": 0.0,
        "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.62,
        "after": 0.0,
        "delta": -0.62,
        "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.294,
        "after": 0.2666,
        "delta": -0.0274,
        "percent_delta": -0.0932,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.302,
        "after": 0.2895,
        "delta": -0.0125,
        "percent_delta": -0.0414,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.088,
        "after": 2.0,
        "delta": 0.912,
        "percent_delta": 0.8382,
        "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.088,
        "after": 2.0,
        "delta": 0.912,
        "percent_delta": 0.8382,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.147-
predicted_3B0.000-
predicted_AB3.360-
predicted_AVG0.185-
predicted_BB0.353-
predicted_H0.620-
predicted_HR0.070-
predicted_OBP0.294-
predicted_R0.353-
predicted_RBI0.260-
predicted_SLG0.302-
predicted_SO1.088-
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.1500.003
predicted_3B0.0010.001
predicted_AB3.354-0.006
predicted_AVG0.1910.006
predicted_BB0.3750.022
predicted_H0.6410.021
predicted_HBP0.006-
predicted_HR0.068-0.002
predicted_OBP0.292-0.002
predicted_R0.349-0.004
predicted_RBI0.260-0.000
predicted_SLG0.3040.002
predicted_SO1.021-0.067
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.0010.000
predicted_AB3.3540.000
predicted_AVG0.185-0.006
predicted_BB0.373-0.002
predicted_H0.620-0.021
predicted_HBP0.0060.000
predicted_HR0.066-0.002
predicted_OBP0.267-0.025
predicted_R0.330-0.019
predicted_RBI0.246-0.014
predicted_SLG0.289-0.015
predicted_SO1.0260.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.36), rates preserved: AVG=0.178 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. bvp_blend

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

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.1440.144
3B0.0070.007
BB0.2930.293
H0.699-0.301
HR0.1200.120
RBI0.3700.370
SO1.1780.178
9. 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.007
AB3.0000.000
BB0.000-0.293
H1.0000.301
HR0.000-0.120
R0.0000.000
RBI0.000-0.370
SO1.000-0.178
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.001
predicted_AB3.000-0.354
predicted_AVG0.2160.031
predicted_BB0.000-0.373
predicted_H1.0000.380
predicted_HR0.000-0.066
predicted_OBP0.2870.020
predicted_R0.000-0.330
predicted_RBI0.000-0.246
predicted_SLG0.3760.087
predicted_SO1.000-0.026
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: 34
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.0000.0001.0003.0003.0000.26670.38890.33330.26670.00000.00000.20000.2000
last_100.2010-32.0004.0001.0000.0000.0002.0003.0005.0008.0000.12500.24320.15620.12500.00000.06250.15620.2500
season0.6034-113.00021.0005.0000.0003.00010.00012.00012.00037.0000.18580.26400.30970.18580.02660.08850.10620.3274
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1550
predicted_3B0.0030
predicted_AB3.3440
predicted_AVG0.2011
predicted_BB0.4090
predicted_H0.6730
predicted_HBP0.0060
predicted_HR0.0650
predicted_OBP0.2888
predicted_R0.3430
predicted_RBI0.2590
predicted_SLG0.3077
predicted_SO0.9170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14700.15500.1501model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB3.36003.34403.3537model_form_blend
predicted_AVG0.18500.20110.1913model_form_blend
predicted_BB0.35300.40900.3750model_form_blend
predicted_H0.62000.67300.6409model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.07000.06500.0680model_form_blend
predicted_OBP0.29400.28880.2920model_form_blend
predicted_R0.35300.34300.3491model_form_blend
predicted_RBI0.26000.25900.2596model_form_blend
predicted_SLG0.30200.30770.3042model_form_blend
predicted_SO1.08800.91701.0207model_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 used34
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_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_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
allPositionsPlayedC
gameID20260930_PHI@ATL
game_typefull
mlbID669221
playerID669221
playerNameSean Murphy
posC
startedTrue
startingPositionC
teamATL
teamID2
game_date2026-09-30
sl_k_percent30.6
sl_bb_percent9.1
sl_woba0.252
sl_xwoba0.273
sl_xba0.206
sl_xslg0.332
sl_sweet_spot_percent26.0
sl_barrel_batted_rate8.2
sl_hard_hit_percent41.1
sl_exit_velocity_avg87.8
sl_launch_angle_avg5.6
sl_whiff_percent31.9
sl_swing_percent50.1
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 605
All-history rows before 20261003: 605
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2270
Diff (system - data): -0.0070
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.1240.0000.000Hitting_2B0.1370.000-0.1370.000
predicted_3B0.0120.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.5284.0003.000Hitting_AB3.6122.0000.3882.000
predicted_AVG0.2200.0000.333Hitting_AVG0.2270.000-0.2270.000
predicted_BB0.3170.0000.000Hitting_BB0.3192.000-0.319-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.7500.0001.000Hitting_H0.8200.000-0.8200.000
predicted_HR0.1900.0000.000Hitting_HR0.1170.000-0.1170.000
predicted_OBP0.3110.0000.333Hitting_OBP0.3030.500-0.303-0.500
predicted_R0.4100.0000.000Hitting_R0.4311.000-0.431-1.000
predicted_RBI0.4800.0000.000Hitting_RBI0.4790.000-0.4790.000
predicted_SLG0.4020.0000.333Hitting_SLG0.3700.000-0.3700.000
predicted_SO1.2301.0002.000Hitting_SO1.2610.000-0.2611.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.5280 -> 4.0000 (boost 0.4720, better)
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_blend41322predicted_BB: 0.3170 -> 0.3734 (boost 0.0564, better)predicted_SO: 1.2300 -> 1.1754 (deboost -0.0546, 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.3082 -> 0.2766 (deboost -0.0316, 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.7027 -> 1.0000 (boost 0.2973, better)predicted_AB: 3.5118 -> 3.0000 (deboost -0.5118, worse)AB rounded to 3 (raw=3.53), rates preserved: AVG=0.192 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.3963 -> 0.0000 (deboost -0.3963, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_SO: 1.0000 -> 1.4502 (boost 0.4502, worse)predicted_H: 1.0000 -> 0.7318 (deboost -0.2682, 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.4502 -> 2.0000 (boost 0.5498, worse)predicted_RBI: 0.4138 -> 0.0000 (deboost -0.4138, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31221predicted_AVG: 0.2001 -> 0.2160 (boost 0.0159, 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_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_final21111predicted_SLG: 0.3760 -> 0.3873 (boost 0.0113, better)predicted_AVG: 0.2160 -> 0.2001 (deboost -0.0159, 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.124,
        "predicted_3B": 0.012,
        "predicted_AB": 3.528,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.317,
        "predicted_H": 0.75,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.311,
        "predicted_R": 0.41,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.402,
        "predicted_SO": 1.23
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1039,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.5118,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.3734,
        "predicted_H": 0.726,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.183,
        "predicted_OBP": 0.3082,
        "predicted_R": 0.4187,
        "predicted_RBI": 0.497,
        "predicted_SLG": 0.3903,
        "predicted_SO": 1.1754
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.124,
          "after": 0.1039,
          "delta": -0.0201,
          "percent_delta": -0.1621,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0103,
          "delta": -0.0017,
          "percent_delta": -0.1417,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.528,
          "after": 3.5118,
          "delta": -0.0162,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.2109,
          "delta": -0.0091,
          "percent_delta": -0.0414,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.317,
          "after": 0.3734,
          "delta": 0.0564,
          "percent_delta": 0.1779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.75,
          "after": 0.726,
          "delta": -0.024,
          "percent_delta": -0.032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.183,
          "delta": -0.007,
          "percent_delta": -0.0368,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3082,
          "delta": -0.0028,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.41,
          "after": 0.4187,
          "delta": 0.0087,
          "percent_delta": 0.0212,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.497,
          "delta": 0.017,
          "percent_delta": 0.0354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.3903,
          "delta": -0.0117,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.23,
          "after": 1.1754,
          "delta": -0.0546,
          "percent_delta": -0.0444,
          "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.317,
          "after": 0.3734,
          "delta": 0.0564,
          "percent_delta": 0.1779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.23,
          "after": 1.1754,
          "delta": -0.0546,
          "percent_delta": -0.0444,
          "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.1039,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.5118,
        "predicted_AVG": 0.2001,
        "predicted_BB": 0.3715,
        "predicted_H": 0.7027,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.1777,
        "predicted_OBP": 0.2766,
        "predicted_R": 0.3963,
        "predicted_RBI": 0.4704,
        "predicted_SLG": 0.3873,
        "predicted_SO": 1.1815
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1039,
          "after": 0.1039,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5118,
          "after": 3.5118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2109,
          "after": 0.2001,
          "delta": -0.0108,
          "percent_delta": -0.0512,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3734,
          "after": 0.3715,
          "delta": -0.0019,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.726,
          "after": 0.7027,
          "delta": -0.0233,
          "percent_delta": -0.0321,
          "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.183,
          "after": 0.1777,
          "delta": -0.0053,
          "percent_delta": -0.029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3082,
          "after": 0.2766,
          "delta": -0.0316,
          "percent_delta": -0.1025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4187,
          "after": 0.3963,
          "delta": -0.0224,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.497,
          "after": 0.4704,
          "delta": -0.0266,
          "percent_delta": -0.0535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3903,
          "after": 0.3873,
          "delta": -0.003,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1754,
          "after": 1.1815,
          "delta": 0.0061,
          "percent_delta": 0.0052,
          "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.3082,
          "after": 0.2766,
          "delta": -0.0316,
          "percent_delta": -0.1025,
          "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.53), rates preserved: AVG=0.192 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1039,
          "after": 0.0,
          "delta": -0.1039,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0,
          "delta": -0.0103,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5118,
          "after": 3.0,
          "delta": -0.5118,
          "percent_delta": -0.1457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3715,
          "after": 0.0,
          "delta": -0.3715,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7027,
          "after": 1.0,
          "delta": 0.2973,
          "percent_delta": 0.4231,
          "direction": "boost",
          "projection_effect": "better",
          "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.1777,
          "after": 0.0,
          "delta": -0.1777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4704,
          "after": 0.0,
          "delta": -0.4704,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1815,
          "after": 1.0,
          "delta": -0.1815,
          "percent_delta": -0.1536,
          "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.7027,
          "after": 1.0,
          "delta": 0.2973,
          "percent_delta": 0.4231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5118,
          "after": 3.0,
          "delta": -0.5118,
          "percent_delta": -0.1457,
          "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.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 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.3963,
          "after": 0.0,
          "delta": -0.3963,
          "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.3963,
          "after": 0.0,
          "delta": -0.3963,
          "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.1682,
        "predicted_3B": 0.0078,
        "predicted_BB": 0.2723,
        "predicted_H": 0.7318,
        "predicted_HR": 0.1183,
        "predicted_RBI": 0.4138,
        "predicted_SO": 1.4502
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1682,
          "delta": 0.1682,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0078,
          "delta": 0.0078,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2723,
          "delta": 0.2723,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7318,
          "delta": -0.2682,
          "percent_delta": -0.2682,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1183,
          "delta": 0.1183,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4138,
          "delta": 0.4138,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4502,
          "delta": 0.4502,
          "percent_delta": 0.4502,
          "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.4502,
          "delta": 0.4502,
          "percent_delta": 0.4502,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7318,
          "delta": -0.2682,
          "percent_delta": -0.2682,
          "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.1682,
          "after": 0.0,
          "delta": -0.1682,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0078,
          "after": 0.0,
          "delta": -0.0078,
          "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.2723,
          "after": 0.0,
          "delta": -0.2723,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7318,
          "after": 1.0,
          "delta": 0.2682,
          "percent_delta": 0.3665,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1183,
          "after": 0.0,
          "delta": -0.1183,
          "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.4138,
          "after": 0.0,
          "delta": -0.4138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4502,
          "after": 2.0,
          "delta": 0.5498,
          "percent_delta": 0.3791,
          "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.4502,
          "after": 2.0,
          "delta": 0.5498,
          "percent_delta": 0.3791,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4138,
          "after": 0.0,
          "delta": -0.4138,
          "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.216,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2001,
          "after": 0.216,
          "delta": 0.0159,
          "percent_delta": 0.0795,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.281,
          "delta": 0.0044,
          "percent_delta": 0.0159,
          "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.3873,
          "after": 0.376,
          "delta": -0.0113,
          "percent_delta": -0.0292,
          "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": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2001,
          "after": 0.216,
          "delta": 0.0159,
          "percent_delta": 0.0795,
          "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": 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.2001,
        "predicted_BB": 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.3873,
        "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.216,
          "after": 0.2001,
          "delta": -0.0159,
          "percent_delta": -0.0736,
          "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.281,
          "after": 0.2766,
          "delta": -0.0044,
          "percent_delta": -0.0156,
          "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.376,
          "after": 0.3873,
          "delta": 0.0113,
          "percent_delta": 0.0302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3873,
          "delta": 0.0113,
          "percent_delta": 0.0302,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.216,
          "after": 0.2001,
          "delta": -0.0159,
          "percent_delta": -0.0736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.124,
        "after": 0.0,
        "delta": -0.124,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.528,
        "after": 4.0,
        "delta": 0.472,
        "percent_delta": 0.1338,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.22,
        "after": 0.2001,
        "delta": -0.0199,
        "percent_delta": -0.0905,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.317,
        "after": 0.0,
        "delta": -0.317,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.311,
        "after": 0.2766,
        "delta": -0.0344,
        "percent_delta": -0.1106,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "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.402,
        "after": 0.3873,
        "delta": -0.0147,
        "percent_delta": -0.0366,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.23,
        "after": 1.0,
        "delta": -0.23,
        "percent_delta": -0.187,
        "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.528,
        "after": 4.0,
        "delta": 0.472,
        "percent_delta": 0.1338,
        "direction": "boost",
        "projection_effect": "better",
        "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.124-
predicted_3B0.012-
predicted_AB3.528-
predicted_AVG0.220-
predicted_BB0.317-
predicted_H0.750-
predicted_HR0.190-
predicted_OBP0.311-
predicted_R0.410-
predicted_RBI0.480-
predicted_SLG0.402-
predicted_SO1.230-
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.104-0.020
predicted_3B0.010-0.002
predicted_AB3.512-0.016
predicted_AVG0.211-0.009
predicted_BB0.3730.056
predicted_H0.726-0.024
predicted_HBP0.102-
predicted_HR0.183-0.007
predicted_OBP0.308-0.003
predicted_R0.4190.009
predicted_RBI0.4970.017
predicted_SLG0.390-0.012
predicted_SO1.175-0.055
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.1040.000
predicted_3B0.0100.000
predicted_AB3.5120.000
predicted_AVG0.200-0.011
predicted_BB0.371-0.002
predicted_H0.703-0.023
predicted_HBP0.1020.000
predicted_HR0.178-0.005
predicted_OBP0.277-0.032
predicted_R0.396-0.022
predicted_RBI0.470-0.027
predicted_SLG0.387-0.003
predicted_SO1.1810.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.53), rates preserved: AVG=0.192 HR/AB=0.050

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=5.0, weight=0.057, BvP AVG=0.200)

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.1680.168
3B0.0080.008
BB0.2720.272
H0.732-0.268
HR0.1180.118
RBI0.4140.414
SO1.4500.450
9. 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.008
AB3.0000.000
BB0.000-0.272
H1.0000.268
HR0.000-0.118
R0.0000.000
RBI0.000-0.414
SO2.0000.550
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.104
predicted_3B0.000-0.010
predicted_AB3.000-0.512
predicted_AVG0.2160.016
predicted_BB0.000-0.371
predicted_H1.0000.297
predicted_HR0.000-0.178
predicted_OBP0.2810.004
predicted_R0.000-0.396
predicted_RBI0.000-0.470
predicted_SLG0.376-0.011
predicted_SO1.000-0.181
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.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.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.0001.0003.0002.0004.0005.0000.11760.31820.29410.11770.05880.17650.23530.2941
last_100.2010-34.0007.0000.0000.0003.0006.0005.0005.0009.0000.20590.31710.47060.20590.08820.17650.14710.2647
season0.60161-568.000125.00020.0002.00020.00075.00066.00051.000198.0000.22010.29560.36800.22010.03520.13200.08980.3486
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0780
predicted_3B0.0080
predicted_AB3.4910
predicted_AVG0.1991
predicted_BB0.4460
predicted_H0.6950
predicted_HBP0.1020
predicted_HR0.1740
predicted_OBP0.3045
predicted_R0.4300
predicted_RBI0.5190
predicted_SLG0.3753
predicted_SO1.1050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12400.07800.1039model_form_blend
predicted_3B0.01200.00800.0103model_form_blend
predicted_AB3.52803.49103.5118model_form_blend
predicted_AVG0.22000.19910.2109model_form_blend
predicted_BB0.31700.44600.3734model_form_blend
predicted_H0.75000.69500.7260model_form_blend
predicted_HBP-0.10200.1020form_only
predicted_HR0.19000.17400.1830model_form_blend
predicted_OBP0.31100.30450.3082model_form_blend
predicted_R0.41000.43000.4187model_form_blend
predicted_RBI0.48000.51900.4970model_form_blend
predicted_SLG0.40200.37530.3903model_form_blend
predicted_SO1.23001.10501.1754model_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 date605
Season rows before report date605
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
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_SO0
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
gameID20261001_PHI@ATL
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-10-01
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
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 20261003: 143
All-history rows before 20261003: 143
System season_avg: 0.1140
Data season_avg (2026 season-to-date): 0.1144
Diff (system - data): -0.0004
System opponent_avg: 0.1140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0210.0000.000Hitting_2B0.0280.000-0.0280.000
predicted_3B0.0211.0000.000Hitting_3B0.0070.0000.9931.000
predicted_AB2.8093.0003.000Hitting_AB2.8111.0000.1892.000
predicted_AVG0.1551.0000.000Hitting_AVG0.1140.0000.8861.000
predicted_BB0.3621.0000.000Hitting_BB0.3501.0000.6500.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2403.0000.000Hitting_H0.3220.0002.6783.000
predicted_HR0.0200.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2491.0000.000Hitting_OBP0.2190.5000.7810.500
predicted_R0.2341.0000.000Hitting_R0.2241.0000.7760.000
predicted_RBI0.1400.0000.000Hitting_RBI0.1750.000-0.1750.000
predicted_SLG0.1721.6670.000Hitting_SLG0.1290.0001.5371.667
predicted_SO0.8510.0001.000Hitting_SO0.8040.000-0.8040.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_H: 0.2400 -> 3.0000 (boost 2.7600, 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_blend43131predicted_R: 0.2340 -> 0.3110 (boost 0.0770, better)predicted_AVG: 0.1550 -> 0.1410 (deboost -0.0140, 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.1410 -> 0.0962 (deboost -0.0448, 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_AB: 2.8138 -> 3.0000 (boost 0.1862, better)predicted_BB: 0.4144 -> 0.0000 (deboost -0.4144, worse)AB rounded to 3 (raw=2.81), rates preserved: AVG=0.093 HR/AB=0.006
6consistency_constraints10101-predicted_R: 0.2944 -> 0.0000 (deboost -0.2944, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55050predicted_H: 0.0000 -> 0.5867 (boost 0.5867, 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_allocation50505-predicted_H: 0.5867 -> 0.0000 (deboost -0.5867, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.1545 -> 0.3180 (boost 0.1635, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_H: 0.0000 -> 3.0000 (boost 3.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3180 -> 0.1545 (deboost -0.1635, 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.021,
        "predicted_3B": 0.021,
        "predicted_AB": 2.809,
        "predicted_AVG": 0.155,
        "predicted_BB": 0.362,
        "predicted_H": 0.24,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.249,
        "predicted_R": 0.234,
        "predicted_RBI": 0.14,
        "predicted_SLG": 0.172,
        "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.0258,
        "predicted_3B": 0.0423,
        "predicted_AB": 2.8138,
        "predicted_AVG": 0.141,
        "predicted_BB": 0.4166,
        "predicted_H": 0.2797,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0184,
        "predicted_OBP": 0.251,
        "predicted_R": 0.311,
        "predicted_RBI": 0.1464,
        "predicted_SLG": 0.1839,
        "predicted_SO": 0.8771
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.021,
          "after": 0.0258,
          "delta": 0.0048,
          "percent_delta": 0.2286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0423,
          "delta": 0.0213,
          "percent_delta": 1.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.809,
          "after": 2.8138,
          "delta": 0.0048,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.155,
          "after": 0.141,
          "delta": -0.014,
          "percent_delta": -0.0903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.362,
          "after": 0.4166,
          "delta": 0.0546,
          "percent_delta": 0.1508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.24,
          "after": 0.2797,
          "delta": 0.0397,
          "percent_delta": 0.1654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0184,
          "delta": -0.0016,
          "percent_delta": -0.08,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.249,
          "after": 0.251,
          "delta": 0.002,
          "percent_delta": 0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.234,
          "after": 0.311,
          "delta": 0.077,
          "percent_delta": 0.3291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.14,
          "after": 0.1464,
          "delta": 0.0064,
          "percent_delta": 0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.172,
          "after": 0.1839,
          "delta": 0.0119,
          "percent_delta": 0.0692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.851,
          "after": 0.8771,
          "delta": 0.0261,
          "percent_delta": 0.0307,
          "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.234,
          "after": 0.311,
          "delta": 0.077,
          "percent_delta": 0.3291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.155,
          "after": 0.141,
          "delta": -0.014,
          "percent_delta": -0.0903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 47
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0258,
        "predicted_3B": 0.0423,
        "predicted_AB": 2.8138,
        "predicted_AVG": 0.0962,
        "predicted_BB": 0.4144,
        "predicted_H": 0.2707,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0179,
        "predicted_OBP": 0.2122,
        "predicted_R": 0.2944,
        "predicted_RBI": 0.1386,
        "predicted_SLG": 0.1545,
        "predicted_SO": 0.8817
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0258,
          "after": 0.0258,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0423,
          "after": 0.0423,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8138,
          "after": 2.8138,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.141,
          "after": 0.0962,
          "delta": -0.0448,
          "percent_delta": -0.3177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4166,
          "after": 0.4144,
          "delta": -0.0022,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.2797,
          "after": 0.2707,
          "delta": -0.009,
          "percent_delta": -0.0322,
          "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.0184,
          "after": 0.0179,
          "delta": -0.0005,
          "percent_delta": -0.0272,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.251,
          "after": 0.2122,
          "delta": -0.0388,
          "percent_delta": -0.1546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.311,
          "after": 0.2944,
          "delta": -0.0166,
          "percent_delta": -0.0534,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1464,
          "after": 0.1386,
          "delta": -0.0078,
          "percent_delta": -0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.1839,
          "after": 0.1545,
          "delta": -0.0294,
          "percent_delta": -0.1599,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8771,
          "after": 0.8817,
          "delta": 0.0046,
          "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_AVG",
          "before": 0.141,
          "after": 0.0962,
          "delta": -0.0448,
          "percent_delta": -0.3177,
          "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.81), rates preserved: AVG=0.093 HR/AB=0.006",
      "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.0258,
          "after": 0.0,
          "delta": -0.0258,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0423,
          "after": 0.0,
          "delta": -0.0423,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8138,
          "after": 3.0,
          "delta": 0.1862,
          "percent_delta": 0.0662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.2707,
          "after": 0.0,
          "delta": -0.2707,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.0179,
          "after": 0.0,
          "delta": -0.0179,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1386,
          "after": 0.0,
          "delta": -0.1386,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8817,
          "after": 1.0,
          "delta": 0.1183,
          "percent_delta": 0.1342,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.8138,
          "after": 3.0,
          "delta": 0.1862,
          "percent_delta": 0.0662,
          "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": "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.2944,
          "after": 0.0,
          "delta": -0.2944,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2944,
          "after": 0.0,
          "delta": -0.2944,
          "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.1232,
        "predicted_3B": 0.0082,
        "predicted_BB": 0.2904,
        "predicted_H": 0.5867,
        "predicted_HR": 0.0646,
        "predicted_RBI": 0.2876,
        "predicted_SO": 1.0071
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1232,
          "delta": 0.1232,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0082,
          "delta": 0.0082,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2904,
          "delta": 0.2904,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.5867,
          "delta": 0.5867,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0646,
          "delta": 0.0646,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2876,
          "delta": 0.2876,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0071,
          "delta": 0.0071,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.5867,
          "delta": 0.5867,
          "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.1232,
          "after": 0.0,
          "delta": -0.1232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0082,
          "after": 0.0,
          "delta": -0.0082,
          "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.2904,
          "after": 0.0,
          "delta": -0.2904,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5867,
          "after": 0.0,
          "delta": -0.5867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0646,
          "after": 0.0,
          "delta": -0.0646,
          "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.2876,
          "after": 0.0,
          "delta": -0.2876,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0071,
          "after": 1.0,
          "delta": -0.0071,
          "percent_delta": -0.007,
          "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.5867,
          "after": 0.0,
          "delta": -0.5867,
          "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 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": 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.0962,
          "after": 0.203,
          "delta": 0.1068,
          "percent_delta": 1.1102,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2122,
          "after": 0.281,
          "delta": 0.0688,
          "percent_delta": 0.3242,
          "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.1545,
          "after": 0.318,
          "delta": 0.1635,
          "percent_delta": 1.0583,
          "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.1545,
          "after": 0.318,
          "delta": 0.1635,
          "percent_delta": 1.0583,
          "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": 1.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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 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_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 3.0,
        "predicted_AVG": 0.0962,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2122,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1545,
        "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.0962,
          "delta": -0.1068,
          "percent_delta": -0.526,
          "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": 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.281,
          "after": 0.2122,
          "delta": -0.0688,
          "percent_delta": -0.2447,
          "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.318,
          "after": 0.1545,
          "delta": -0.1635,
          "percent_delta": -0.5142,
          "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.318,
          "after": 0.1545,
          "delta": -0.1635,
          "percent_delta": -0.5142,
          "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.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.021,
        "after": 1.0,
        "delta": 0.979,
        "percent_delta": 46.619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.809,
        "after": 3.0,
        "delta": 0.191,
        "percent_delta": 0.068,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.155,
        "after": 0.0962,
        "delta": -0.0588,
        "percent_delta": -0.3794,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.362,
        "after": 1.0,
        "delta": 0.638,
        "percent_delta": 1.7624,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.24,
        "after": 3.0,
        "delta": 2.76,
        "percent_delta": 11.5,
        "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.249,
        "after": 0.2122,
        "delta": -0.0368,
        "percent_delta": -0.1478,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "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.172,
        "after": 0.1545,
        "delta": -0.0175,
        "percent_delta": -0.1017,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 5,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.24,
        "after": 3.0,
        "delta": 2.76,
        "percent_delta": 11.5,
        "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": "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.021-
predicted_3B0.021-
predicted_AB2.809-
predicted_AVG0.155-
predicted_BB0.362-
predicted_H0.240-
predicted_HR0.020-
predicted_OBP0.249-
predicted_R0.234-
predicted_RBI0.140-
predicted_SLG0.172-
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.0260.005
predicted_3B0.0420.021
predicted_AB2.8140.005
predicted_AVG0.141-0.014
predicted_BB0.4170.055
predicted_H0.2800.040
predicted_HBP0.015-
predicted_HR0.018-0.002
predicted_OBP0.2510.002
predicted_R0.3110.077
predicted_RBI0.1460.006
predicted_SLG0.1840.012
predicted_SO0.8770.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.0260.000
predicted_3B0.0420.000
predicted_AB2.8140.000
predicted_AVG0.096-0.045
predicted_BB0.414-0.002
predicted_H0.271-0.009
predicted_HBP0.0150.000
predicted_HR0.018-0.001
predicted_OBP0.212-0.039
predicted_R0.294-0.017
predicted_RBI0.139-0.008
predicted_SLG0.154-0.029
predicted_SO0.8820.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.81), rates preserved: AVG=0.093 HR/AB=0.006

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.1230.123
3B0.0080.008
BB0.2900.290
H0.5870.587
HR0.0650.065
RBI0.2880.288
SO1.0070.007
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.123
3B0.000-0.008
AB3.0000.000
BB0.000-0.290
H0.000-0.587
HR0.000-0.065
R0.0000.000
RBI0.000-0.288
SO1.000-0.007
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.026
predicted_3B0.000-0.042
predicted_AB3.0000.186
predicted_AVG0.2030.107
predicted_BB0.000-0.414
predicted_H0.000-0.271
predicted_HR0.000-0.018
predicted_OBP0.2810.069
predicted_R0.000-0.294
predicted_RBI0.000-0.139
predicted_SLG0.3180.164
predicted_SO1.0000.118
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H3.0003.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: 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-11.0001.0000.0001.0000.0000.0004.0004.0005.0000.09090.33330.27270.09090.00000.00000.36360.4546
last_100.2010-25.0001.0000.0001.0000.0000.0004.0006.0009.0000.04000.22580.12000.04000.00000.00000.24000.3600
season0.6047-132.00015.0001.0001.0000.0009.00011.00017.00040.0000.11360.22000.13640.11360.00000.06820.12880.3030
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0330
predicted_3B0.0740
predicted_AB2.8210
predicted_AVG0.1200
predicted_BB0.4980
predicted_H0.3390
predicted_HBP0.0150
predicted_HR0.0160
predicted_OBP0.2541
predicted_R0.4260
predicted_RBI0.1560
predicted_SLG0.2016
predicted_SO0.9160
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02100.03300.0258model_form_blend
predicted_3B0.02100.07400.0423model_form_blend
predicted_AB2.80902.82102.8138model_form_blend
predicted_AVG0.15500.12000.1410model_form_blend
predicted_BB0.36200.49800.4166model_form_blend
predicted_H0.24000.33900.2797model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.02000.01600.0184model_form_blend
predicted_OBP0.24900.25410.2510model_form_blend
predicted_R0.23400.42600.3110model_form_blend
predicted_RBI0.14000.15600.1464model_form_blend
predicted_SLG0.17200.20160.1839model_form_blend
predicted_SO0.85100.91600.8771model_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 date143
Season rows before report date143
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
H3
2B0
3B1
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_AB1
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO0
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
allPositionsPlayedSS
gameID20260930_PHI@ATL
game_typefull
mlbID673490
playerID673490
playerNameHa-Seong Kim
posSS
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-09-30
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
Dylan Dodd (689266) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 49
All-history rows before 20261003: 49

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB0.2860.0002.7143.000
predicted_ER3.0002.0003.000Pitching_ER0.3061.0001.6941.000
predicted_H3.0003.0003.000Pitching_H0.6531.0002.3472.000
predicted_IP5.2005.2005.200Pitching_InningsPitched0.9080.2004.2925.000
predicted_SO7.0007.0007.000Pitching_SO1.0820.0005.9187.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics5
Boosted Metrics1
Deboosted Metrics4
Better Metrics4
Worse Metrics1
Biggest Boostpredicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better)
Biggest Deboostpredicted_ER: 4.0000 -> 2.0000 (deboost -2.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail30321-predicted_ER: 4.0000 -> 2.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_final21120predicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better)predicted_H: 4.0000 -> 3.0000 (deboost -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": "689266",
  "player_name": "Dylan Dodd",
  "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": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.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": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.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": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 7.0,
          "delta": 1.0,
          "percent_delta": 0.1667,
          "direction": "boost",
          "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_SO",
          "before": 6.0,
          "after": 7.0,
          "delta": 1.0,
          "percent_delta": 0.1667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 2.0,
        "delta": -2.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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": 6.0,
        "after": 7.0,
        "delta": 1.0,
        "percent_delta": 0.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 1,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 6.0,
        "after": 7.0,
        "delta": 1.0,
        "percent_delta": 0.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 2.0,
        "delta": -2.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "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_BB3.000-
predicted_ER4.000-
predicted_H4.000-
predicted_HR2.000-
predicted_IP5.667-
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_BB3.0000.000
predicted_ER2.000-2.000
predicted_H4.0000.000
predicted_HR1.000-1.000
predicted_IP5.200-0.467
predicted_SO6.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 49
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0003.0004.0000.0006.0001.0005.40000.80000.60000.80000.00001.20000.2000
last_100.35109.1005.0008.0001.00010.0003.0004.82140.96430.53570.85710.10711.07140.3214
season0.204950.10015.00032.00014.00053.0007.0002.68210.91390.29800.63580.27821.05300.1391
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4690
predicted_ER1.2980
predicted_ERA4.6395
predicted_H2.1430
predicted_HR0.5120
predicted_IP2.2000
predicted_SO2.6760
predicted_WHIP1.0374
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00000.46901.7026model_form_blend
predicted_ER4.00001.29802.6149model_form_blend
predicted_ERA-4.63954.6395form_only
predicted_H4.00002.14303.0481model_form_blend
predicted_HR2.00000.51201.2372model_form_blend
predicted_IP5.20002.20004.1000model_form_blend
predicted_SO6.00002.67604.2961model_form_blend
predicted_WHIP-1.03741.0374form_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 date49
Season rows before report date49
Report year2026
Profile rows used49
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H3
R2
ER2
BB3
SO7
HR1
BF23
Pitches104

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_ER1
Pitching_ERA13.50
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches14
Pitching_R1
Pitching_SO0
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20261001_PHI@ATL
game_typefull
mlbID689266
playerID689266
playerNameDylan Dodd
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-10-01
sl_k_percent27.3
sl_bb_percent7.2
sl_woba0.26
sl_xwoba0.273
sl_sweet_spot_percent37.9
sl_barrel_batted_rate8.9
sl_hard_hit_percent37.1
sl_whiff_percent29.5
sl_swing_percent54.4
sl_avg_best_speed80.094113934
sl_avg_hyper_speed93.49856377
Didier Fuentes (800311) · PITCHER · Setup Man · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 61
All-history rows before 20261003: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0002.0001.000Pitching_BB0.3440.0001.6562.000
predicted_ER1.0002.0001.000Pitching_ER0.3440.0001.6562.000
predicted_H1.0002.0001.000Pitching_H1.0490.0000.9512.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1571.000-0.1570.000
predicted_SO1.0001.0001.000Pitching_SO1.5740.000-0.5741.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics3
Deboosted Metrics0
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_run_redistribution33003predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
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": "800311",
  "player_name": "Didier Fuentes",
  "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": 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": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.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": 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.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 3,
      "boosted_metrics": 3,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "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_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-
2. pitcher_quality_run_redistribution

Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR1.0001.000
predicted_IP1.0000.000
predicted_SO1.0000.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.0003.0009.0000.0003.0002.0005.40001.80000.60001.80000.00000.60000.4000
last_100.351013.0005.00014.0002.00014.0003.0003.46151.23080.38461.07690.15381.07690.2308
season0.206075.20021.00064.00020.00093.0007.0002.49781.11010.27750.84580.26431.22910.0925
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1970
predicted_ER0.5380
predicted_ERA4.2548
predicted_H1.4420
predicted_HR0.2820
predicted_IP1.0000
predicted_SO1.0280
predicted_WHIP1.4387
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.19700.5604model_form_blend
predicted_ER0.00000.53800.2945model_form_blend
predicted_ERA-4.25484.2548form_only
predicted_H0.00001.44200.7894model_form_blend
predicted_HR0.00000.28200.1544model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.02801.0153model_form_blend
predicted_WHIP-1.43871.4387form_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 date61
Season rows before report date61
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.0
H2
R2
ER2
BB2
SO1
HR1
BF7
Pitches27

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.00
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261001_PHI@ATL
game_typefull
mlbID800311
playerID800311
playerNameDidier Fuentes
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-10-01
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
Raisel Iglesias (628452) · PITCHER · Closer · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 61
All-history rows before 20261003: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2790.000-0.2790.000
predicted_ER1.0001.0001.000Pitching_ER0.2790.0000.7211.000
predicted_H1.0001.0001.000Pitching_H0.8201.0000.1800.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9821.0000.1180.100
predicted_SO1.0001.0001.000Pitching_SO1.0490.000-0.0491.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics3
Deboosted Metrics0
Better Metrics1
Worse Metrics2
Biggest Boostpredicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_run_redistribution33012predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
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": "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": 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": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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.1,
          "after": 1.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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": 3,
      "boosted_metrics": 3,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "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.000-
predicted_SO1.000-
2. pitcher_quality_run_redistribution

Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR0.0000.000
predicted_IP1.1000.100
predicted_SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 61
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.0003.0000.0004.0000.0000.00000.60000.00000.60000.00000.80000.0000
last_100.351010.0001.0006.0001.00010.0001.0000.90000.70000.10000.60000.10001.00000.1000
season0.206162.00017.00050.00017.00064.0006.0002.46771.08060.27420.80650.27421.03230.0968
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1710
predicted_ER0.2090
predicted_ERA1.8774
predicted_H0.7380
predicted_HR0.0810
predicted_IP1.0000
predicted_SO0.9210
predicted_WHIP0.9090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.17100.0908model_form_blend
predicted_ER0.00000.20900.1110model_form_blend
predicted_ERA-1.87741.8774form_only
predicted_H0.00000.73800.3920model_form_blend
predicted_HR0.00000.08100.0430model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.92100.9580model_form_blend
predicted_WHIP-0.90900.9090form_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 date61
Season rows before report date61
Report year2026
Profile rows used61
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
SO1
HR0
BF5
Pitches28

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_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260930_PHI@ATL
game_typefull
mlbID628452
playerID628452
playerNameRaisel Iglesias
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-30
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

Home Team: LAD

Home Pitcher Deep Analysis

FieldValue
PitcherTarik Skubal
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7622
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1550
Avg Velo92.6315
Avg Spin2173.3743
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER1
Pre H5
Pre BB1
Pre SO7
Season ERA2.7227
Season WHIP0.9643
Role Avg IP6.1030
Recent Avg IP6.4000
Last Start IP7
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "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.0195,
    "defense_index": 1.1626,
    "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.2008,
    "offense_edge": 0.1006,
    "opponent_offense_edge": 0.0195,
    "defense_strength": 0.213,
    "opponent_defense_weakness": -0.1626,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0136,
    "run_prevention": 0.9718,
    "strikeout": 1.0045
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669373",
    "profile": {
      "available": true,
      "pitcher_id": "669373",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 569.0,
        "k_percent": 30.0,
        "bb_percent": 4.4,
        "woba": 0.264,
        "xwoba": 0.266,
        "sweet_spot_percent": 34.6,
        "barrel_batted_rate": 6.7,
        "hard_hit_percent": 34.8,
        "avg_best_speed": 75.3556,
        "avg_hyper_speed": 93.4848,
        "whiff_percent": 31.7,
        "swing_percent": 53.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.851,
        "command_and_miss": 1.0729,
        "regression_edge": -0.0571,
        "xwoba_edge": 1.3143,
        "barrel_edge": 0.1111,
        "hard_hit_edge": 0.4429,
        "whiff_edge": 0.9286,
        "bb_edge": 1.2,
        "pitch_design_score": 0.155
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669373",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 92,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 92.63147798168428,
          "release_spin_rate": 2173.3742821287633,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 92,
            "pitch_usage": 0.0,
            "release_speed": 92.63147798168428,
            "release_spin_rate": 2173.3742821287633,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6315,
          "release_spin_rate": 2173.3743,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.155,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.1069,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7622,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9352,
      "strikeout_factor": 1.0823,
      "walk_factor": 0.904,
      "homer_factor": 0.934,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "669373",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9352,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9352,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.904,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.934,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0823,
        "adjusted": 8
      }
    }
  }
}
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": 62.0,
    "ER": 18,
    "H": 52,
    "BB": 13,
    "SO": 70,
    "HR": 4,
    "ERA": 2.6129032258064515,
    "WHIP": 1.0483870967741935,
    "K9": 10.161290322580646,
    "HR9": 0.5806451612903226,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669373",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 92,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 92,
    "pitch_usage": 0.0,
    "release_speed": 92.63147798168428,
    "release_spin_rate": 2173.3742821287633,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 92,
      "pitch_usage": 0.0,
      "release_speed": 92.63147798168428,
      "release_spin_rate": 2173.3742821287633,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6315,
    "release_spin_rate": 2173.3743,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.155,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.1069,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "669373",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 26,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 32.0,
        "ER": 8.0,
        "R": 8.0,
        "H": 28.0,
        "BB": 6.0,
        "SO": 33.0,
        "HR": 2.0,
        "BF": 125.0,
        "Pitches": 447.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.6,
        "R": 1.6,
        "H": 5.6,
        "BB": 1.2,
        "SO": 6.6,
        "HR": 0.4,
        "BF": 25.0,
        "Pitches": 89.4
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.0625,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 1.03125,
        "HR_per_IP": 0.0625
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 62.0,
        "ER": 18.0,
        "R": 19.0,
        "H": 52.0,
        "BB": 13.0,
        "SO": 70.0,
        "HR": 4.0,
        "BF": 246.0,
        "Pitches": 925.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.8,
        "R": 1.9,
        "H": 5.2,
        "BB": 1.3,
        "SO": 7.0,
        "HR": 0.4,
        "BF": 24.6,
        "Pitches": 92.5
      },
      "rates": {
        "ERA": 2.6129,
        "WHIP": 1.0484,
        "ER_per_IP": 0.29032,
        "H_per_IP": 0.83871,
        "BB_per_IP": 0.20968,
        "SO_per_IP": 1.12903,
        "HR_per_IP": 0.06452
      }
    },
    "season": {
      "games": 26,
      "totals": {
        "IP": 158.2,
        "ER": 48.0,
        "R": 52.0,
        "H": 126.0,
        "BB": 27.0,
        "SO": 186.0,
        "HR": 14.0,
        "BF": 620.0,
        "Pitches": 2356.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.8462,
        "R": 2.0,
        "H": 4.8462,
        "BB": 1.0385,
        "SO": 7.1538,
        "HR": 0.5385,
        "BF": 23.8462,
        "Pitches": 90.6154
      },
      "rates": {
        "ERA": 2.7227,
        "WHIP": 0.9643,
        "ER_per_IP": 0.30252,
        "H_per_IP": 0.79412,
        "BB_per_IP": 0.17017,
        "SO_per_IP": 1.17227,
        "HR_per_IP": 0.08824
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.964,
    "predicted_H": 5.451,
    "predicted_BB": 1.394,
    "predicted_SO": 6.703,
    "predicted_HR": 0.509,
    "predicted_ERA": 2.8164,
    "predicted_WHIP": 1.0904
  }
}
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": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.964,
      "final": 1.5609,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.451,
      "final": 5.2624,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.394,
      "final": 1.2292,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 6.703,
      "final": 5.9909,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.509,
      "final": 0.2962,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8164,
      "final": 2.8164,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0904,
      "final": 1.0904,
      "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
PitcherJustin Wrobleski
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.2901
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0442
Avg Velo90.6540
Avg Spin2394.1250
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA3.6643
Season WHIP1.1429
Role Avg IP1.9440
Recent Avg IP1.5330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "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.0195,
    "defense_index": 1.1626,
    "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.2008,
    "offense_edge": 0.1006,
    "opponent_offense_edge": 0.0195,
    "defense_strength": 0.213,
    "opponent_defense_weakness": -0.1626,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0136,
    "run_prevention": 0.9718,
    "strikeout": 1.0045
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "680736",
    "profile": {
      "available": true,
      "pitcher_id": "680736",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 557.0,
        "k_percent": 20.4,
        "bb_percent": 5.4,
        "woba": 0.299,
        "xwoba": 0.326,
        "sweet_spot_percent": 36.3,
        "barrel_batted_rate": 9.4,
        "hard_hit_percent": 43.9,
        "avg_best_speed": 79.5322,
        "avg_hyper_speed": 94.6286,
        "whiff_percent": 20.7,
        "swing_percent": 49.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.3196,
        "command_and_miss": -0.1443,
        "regression_edge": -0.7714,
        "xwoba_edge": -0.4,
        "barrel_edge": -0.4889,
        "hard_hit_edge": -0.8571,
        "whiff_edge": -0.6429,
        "bb_edge": 0.95,
        "pitch_design_score": 0.0442
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "680736",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 45,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 45,
          "pitch_usage": 0.0,
          "release_speed": 90.65401949031055,
          "release_spin_rate": 2394.125027056207,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 45,
            "pitch_usage": 0.0,
            "release_speed": 90.65401949031055,
            "release_spin_rate": 2394.125027056207,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.654,
          "release_spin_rate": 2394.125,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0442,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3159,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2901,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0247,
      "strikeout_factor": 0.9646,
      "walk_factor": 0.924,
      "homer_factor": 1.0854,
      "woba_minus_xwoba": -0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "680736",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0247,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0247,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.924,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0854,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9646,
        "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": 27.1,
    "ER": 21,
    "H": 35,
    "BB": 10,
    "SO": 31,
    "HR": 9,
    "ERA": 6.914634146341465,
    "WHIP": 1.6463414634146345,
    "K9": 10.207317073170733,
    "HR9": 2.963414634146342,
    "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": "680736",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 45,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 45,
    "pitch_usage": 0.0,
    "release_speed": 90.65401949031055,
    "release_spin_rate": 2394.125027056207,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 45,
      "pitch_usage": 0.0,
      "release_speed": 90.65401949031055,
      "release_spin_rate": 2394.125027056207,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.654,
    "release_spin_rate": 2394.125,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0442,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3159,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "680736",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 28,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 35.0,
        "Pitches": 128.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.6,
        "BB": 0.2,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 7.0,
        "Pitches": 25.6
      },
      "rates": {
        "ERA": 1.0385,
        "WHIP": 1.0385,
        "ER_per_IP": 0.11538,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.11538,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 27.1,
        "ER": 21.0,
        "R": 23.0,
        "H": 35.0,
        "BB": 10.0,
        "SO": 31.0,
        "HR": 9.0,
        "BF": 129.0,
        "Pitches": 511.0
      },
      "per_game": {
        "IP": 2.2,
        "ER": 2.1,
        "R": 2.3,
        "H": 3.5,
        "BB": 1.0,
        "SO": 3.1,
        "HR": 0.9,
        "BF": 12.9,
        "Pitches": 51.1
      },
      "rates": {
        "ERA": 6.9146,
        "WHIP": 1.6463,
        "ER_per_IP": 0.76829,
        "H_per_IP": 1.28049,
        "BB_per_IP": 0.36585,
        "SO_per_IP": 1.13415,
        "HR_per_IP": 0.32927
      }
    },
    "season": {
      "games": 28,
      "totals": {
        "IP": 140.0,
        "ER": 57.0,
        "R": 59.0,
        "H": 129.0,
        "BB": 31.0,
        "SO": 118.0,
        "HR": 21.0,
        "BF": 578.0,
        "Pitches": 2137.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.0357,
        "R": 2.1071,
        "H": 4.6071,
        "BB": 1.1071,
        "SO": 4.2143,
        "HR": 0.75,
        "BF": 20.6429,
        "Pitches": 76.3214
      },
      "rates": {
        "ERA": 3.6643,
        "WHIP": 1.1429,
        "ER_per_IP": 0.40714,
        "H_per_IP": 0.92143,
        "BB_per_IP": 0.22143,
        "SO_per_IP": 0.84286,
        "HR_per_IP": 0.15
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 2.1,
    "predicted_ER": 1.038,
    "predicted_H": 2.574,
    "predicted_BB": 0.614,
    "predicted_SO": 2.414,
    "predicted_HR": 0.361,
    "predicted_ERA": 3.7702,
    "predicted_WHIP": 1.286
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.414,
  "form_weight": 0.586,
  "form_reliability": 0.8485,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 2.1,
      "final": 2.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.038,
      "final": 0.6083,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 2.574,
      "final": 1.9224,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.614,
      "final": 0.3598,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 2.414,
      "final": 1.8286,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.361,
      "final": 0.2115,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7702,
      "final": 3.7702,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.286,
      "final": 1.286,
      "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
PitcherTanner Scott
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6857
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1789
Avg Velo93.0583
Avg Spin2600.2614
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER2
Pre H1
Pre BB1
Pre SO0
Season ERA2.6859
Season WHIP0.9895
Role Avg IP0.9230
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "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.0195,
    "defense_index": 1.1626,
    "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.2008,
    "offense_edge": 0.1006,
    "opponent_offense_edge": 0.0195,
    "defense_strength": 0.213,
    "opponent_defense_weakness": -0.1626,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0136,
    "run_prevention": 0.9718,
    "strikeout": 1.0045
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656945",
    "profile": {
      "available": true,
      "pitcher_id": "656945",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 226.0,
        "k_percent": 32.7,
        "bb_percent": 6.0,
        "woba": 0.25,
        "xwoba": 0.27,
        "sweet_spot_percent": 35.9,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 77.9267,
        "avg_hyper_speed": 93.6064,
        "whiff_percent": 35.5,
        "swing_percent": 56.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8012,
        "command_and_miss": 1.3564,
        "regression_edge": -0.5714,
        "xwoba_edge": 1.2,
        "barrel_edge": 0.1556,
        "hard_hit_edge": 0.4714,
        "whiff_edge": 1.4714,
        "bb_edge": 0.8,
        "pitch_design_score": 0.1789
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656945",
        "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": 93.0583407992636,
          "release_spin_rate": 2600.2614183866235,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 93.0583407992636,
            "release_spin_rate": 2600.2614183866235,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0583,
          "release_spin_rate": 2600.2614,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1789,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2777,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6857,
      "sample_weight": 0.904,
      "run_prevention_factor": 0.9417,
      "strikeout_factor": 1.108,
      "walk_factor": 0.9421,
      "homer_factor": 0.9392,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656945",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9473,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9473,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9477,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.945,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0976,
        "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.2,
    "ER": 4,
    "H": 8,
    "BB": 3,
    "SO": 15,
    "HR": 0,
    "ERA": 4.153846153846154,
    "WHIP": 1.2692307692307694,
    "K9": 15.576923076923078,
    "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-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656945",
  "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": 93.0583407992636,
    "release_spin_rate": 2600.2614183866235,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 93.0583407992636,
      "release_spin_rate": 2600.2614183866235,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0583,
    "release_spin_rate": 2600.2614,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1789,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2777,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.121,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7241,
    "prior_weight": 0.2759
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656945",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 69,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 3.0,
        "SO": 15.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 149.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.8,
        "BB": 0.3,
        "SO": 1.5,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 14.9
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.2692,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.34615,
        "SO_per_IP": 1.73077,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 69,
      "totals": {
        "IP": 63.2,
        "ER": 19.0,
        "R": 20.0,
        "H": 48.0,
        "BB": 15.0,
        "SO": 82.0,
        "HR": 4.0,
        "BF": 251.0,
        "Pitches": 963.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2754,
        "R": 0.2899,
        "H": 0.6957,
        "BB": 0.2174,
        "SO": 1.1884,
        "HR": 0.058,
        "BF": 3.6377,
        "Pitches": 13.9565
      },
      "rates": {
        "ERA": 2.6859,
        "WHIP": 0.9895,
        "ER_per_IP": 0.29843,
        "H_per_IP": 0.75393,
        "BB_per_IP": 0.2356,
        "SO_per_IP": 1.28796,
        "HR_per_IP": 0.06283
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.301,
    "predicted_H": 0.745,
    "predicted_BB": 0.357,
    "predicted_SO": 1.469,
    "predicted_HR": 0.05,
    "predicted_ERA": 2.7134,
    "predicted_WHIP": 1.1018
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4666,
  "form_weight": 0.5334,
  "form_reliability": 0.7241,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.121,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7241,
    "prior_weight": 0.2759
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.301,
      "final": 1.0937,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.745,
      "final": 0.864,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.357,
      "final": 0.657,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.469,
      "final": 1.7167,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.05,
      "final": 0.4932,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7134,
      "final": 2.7134,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1018,
      "final": 1.1018,
      "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
PitcherEvan Phillips
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0340
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1410
Avg Velo92.3821
Avg Spin2484.0896
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER1
Pre H2
Pre BB1
Pre SO1
Season ERA3.4615
Season WHIP1.0769
Role Avg IP0.8390
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "LAD",
    "games": 162,
    "wins": 100,
    "losses": 62,
    "win_pct": 0.6173,
    "runs_scored": 801.0,
    "runs_allowed": 600.0,
    "run_differential": 201.0,
    "run_differential_per_game": 1.2407,
    "avg_runs_scored": 4.9444,
    "avg_runs_allowed": 3.7037,
    "offense_index": 1.1006,
    "defense_index": 1.213,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 2.2,
      "run_differential": 28.0
    },
    "available": true,
    "quality_score": 0.3566
  },
  "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.0195,
    "defense_index": 1.1626,
    "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.2008,
    "offense_edge": 0.1006,
    "opponent_offense_edge": 0.0195,
    "defense_strength": 0.213,
    "opponent_defense_weakness": -0.1626,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0136,
    "run_prevention": 0.9718,
    "strikeout": 1.0045
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623465",
    "profile": {
      "available": true,
      "pitcher_id": "623465",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 90.0,
        "k_percent": 31.1,
        "bb_percent": 5.7,
        "woba": 0.292,
        "xwoba": 0.321,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 16.7,
        "hard_hit_percent": 39.4,
        "avg_best_speed": 80.1336,
        "avg_hyper_speed": 95.3489,
        "whiff_percent": 26.7,
        "swing_percent": 48.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.3919,
        "command_and_miss": 0.8286,
        "regression_edge": -0.8286,
        "xwoba_edge": -0.2571,
        "barrel_edge": -2.1111,
        "hard_hit_edge": -0.2143,
        "whiff_edge": 0.2143,
        "bb_edge": 0.875,
        "pitch_design_score": 0.141
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623465",
        "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": 92.38214029749633,
          "release_spin_rate": 2484.0896341825305,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.38214029749633,
            "release_spin_rate": 2484.0896341825305,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3821,
          "release_spin_rate": 2484.0896,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.141,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0072,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.034,
      "sample_weight": 0.45,
      "run_prevention_factor": 1.0029,
      "strikeout_factor": 1.027,
      "walk_factor": 0.9685,
      "homer_factor": 1.0833,
      "woba_minus_xwoba": -0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "623465",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0013,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0013,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9858,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0375,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0121,
        "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": 1,
    "SO": 15,
    "HR": 1,
    "ERA": 1.9285714285714288,
    "WHIP": 0.5357142857142858,
    "K9": 14.464285714285715,
    "HR9": 0.9642857142857144,
    "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": "623465",
  "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": 92.38214029749633,
    "release_spin_rate": 2484.0896341825305,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.38214029749633,
      "release_spin_rate": 2484.0896341825305,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3821,
    "release_spin_rate": 2484.0896,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.141,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0072,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.358,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5173,
    "prior_weight": 0.4827
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623465",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 17.0,
        "Pitches": 66.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.4,
        "BB": 0.0,
        "SO": 1.6,
        "HR": 0.2,
        "BF": 3.4,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 0.4,
        "ER_per_IP": 0.4,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.6,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 15.0,
        "HR": 1.0,
        "BF": 34.0,
        "Pitches": 133.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.1,
        "SO": 1.5,
        "HR": 0.1,
        "BF": 3.4,
        "Pitches": 13.3
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.5357,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.10714,
        "SO_per_IP": 1.60714,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 26.0,
        "ER": 10.0,
        "R": 11.0,
        "H": 22.0,
        "BB": 6.0,
        "SO": 33.0,
        "HR": 5.0,
        "BF": 106.0,
        "Pitches": 423.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3226,
        "R": 0.3548,
        "H": 0.7097,
        "BB": 0.1935,
        "SO": 1.0645,
        "HR": 0.1613,
        "BF": 3.4194,
        "Pitches": 13.6452
      },
      "rates": {
        "ERA": 3.4615,
        "WHIP": 1.0769,
        "ER_per_IP": 0.38462,
        "H_per_IP": 0.84615,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.26923,
        "HR_per_IP": 0.19231
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.284,
    "predicted_H": 0.497,
    "predicted_BB": 0.154,
    "predicted_SO": 0.845,
    "predicted_HR": 0.107,
    "predicted_ERA": 3.7703,
    "predicted_WHIP": 0.9597
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5539,
  "form_weight": 0.4461,
  "form_reliability": 0.5173,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.358,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5173,
    "prior_weight": 0.4827
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.284,
      "final": 0.6806,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.497,
      "final": 1.3296,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.154,
      "final": 0.6226,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.845,
      "final": 0.9309,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.107,
      "final": 0.0477,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.7703,
      "final": 3.7703,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9597,
      "final": 0.9597,
      "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."
}
Shohei Ohtani (660271) · BATTER · DH · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 602
All-history rows before 20261003: 602
System season_avg: 0.2740
Data season_avg (2026 season-to-date): 0.2788
Diff (system - data): -0.0048
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.1870.0000.000Hitting_2B0.1860.000-0.1860.000
predicted_3B0.0300.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB3.8663.0004.000Hitting_AB3.9023.000-0.9020.000
predicted_AVG0.2740.0000.250Hitting_AVG0.2790.333-0.279-0.333
predicted_BB0.6041.0001.000Hitting_BB0.6400.0000.3601.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.0600.0001.000Hitting_H1.0881.000-1.088-1.000
predicted_HR0.2240.0001.000Hitting_HR0.2310.000-0.2310.000
predicted_OBP0.3720.2500.400Hitting_OBP0.3840.333-0.134-0.083
predicted_R0.6571.0001.000Hitting_R0.6910.0000.3091.000
predicted_RBI0.5900.0001.000Hitting_RBI0.6330.000-0.6330.000
predicted_SLG0.5120.0001.000Hitting_SLG0.5210.333-0.521-0.333
predicted_SO1.1270.0001.000Hitting_SO1.1360.000-1.1360.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.6040 -> 1.0000 (boost 0.3960, better)
Biggest Deboostpredicted_SO: 1.1270 -> 0.0000 (deboost -1.1270, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend71607predicted_SO: 1.1270 -> 1.2064 (boost 0.0794, worse)predicted_R: 0.6570 -> 0.5728 (deboost -0.0842, 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_scaling73443predicted_RBI: 0.5305 -> 1.0000 (boost 0.4695, better)predicted_SO: 1.1943 -> 1.0000 (deboost -0.1943, better)AB rounded to 4 (raw=3.90), rates preserved: AVG=0.243 HR/AB=0.048
6consistency_constraints11010predicted_R: 0.5886 -> 1.0000 (boost 0.4114, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63324predicted_SO: 1.0000 -> 1.2882 (boost 0.2882, worse)predicted_BB: 1.0000 -> 0.4842 (deboost -0.5158, 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.1939 -> 1.0000 (boost 0.8061, better)predicted_SO: 1.2882 -> 1.0000 (deboost -0.2882, 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_reference40413-predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4250 -> 0.4695 (boost 0.0445, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "660271",
  "player_name": "Shohei Ohtani",
  "position": "DH",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.187,
        "predicted_3B": 0.03,
        "predicted_AB": 3.866,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.604,
        "predicted_H": 1.06,
        "predicted_HR": 0.224,
        "predicted_OBP": 0.372,
        "predicted_R": 0.657,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.512,
        "predicted_SO": 1.127
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1805,
        "predicted_3B": 0.0248,
        "predicted_AB": 3.8952,
        "predicted_AVG": 0.2627,
        "predicted_BB": 0.5486,
        "predicted_H": 1.0229,
        "predicted_HBP": 0.07,
        "predicted_HR": 0.186,
        "predicted_OBP": 0.3566,
        "predicted_R": 0.5728,
        "predicted_RBI": 0.5163,
        "predicted_SLG": 0.4654,
        "predicted_SO": 1.2064
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.187,
          "after": 0.1805,
          "delta": -0.0065,
          "percent_delta": -0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.03,
          "after": 0.0248,
          "delta": -0.0052,
          "percent_delta": -0.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.866,
          "after": 3.8952,
          "delta": 0.0292,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.2627,
          "delta": -0.0113,
          "percent_delta": -0.0412,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.604,
          "after": 0.5486,
          "delta": -0.0554,
          "percent_delta": -0.0917,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 1.0229,
          "delta": -0.0371,
          "percent_delta": -0.035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.224,
          "after": 0.186,
          "delta": -0.038,
          "percent_delta": -0.1696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.372,
          "after": 0.3566,
          "delta": -0.0154,
          "percent_delta": -0.0414,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.657,
          "after": 0.5728,
          "delta": -0.0842,
          "percent_delta": -0.1282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5163,
          "delta": -0.0737,
          "percent_delta": -0.1249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.512,
          "after": 0.4654,
          "delta": -0.0466,
          "percent_delta": -0.091,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.127,
          "after": 1.2064,
          "delta": 0.0794,
          "percent_delta": 0.0705,
          "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": 1.127,
          "after": 1.2064,
          "delta": 0.0794,
          "percent_delta": 0.0705,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.657,
          "after": 0.5728,
          "delta": -0.0842,
          "percent_delta": -0.1282,
          "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.1805,
        "predicted_3B": 0.0248,
        "predicted_AB": 3.8952,
        "predicted_AVG": 0.2663,
        "predicted_BB": 0.5541,
        "predicted_H": 1.0373,
        "predicted_HBP": 0.07,
        "predicted_HR": 0.1871,
        "predicted_OBP": 0.3577,
        "predicted_R": 0.5886,
        "predicted_RBI": 0.5305,
        "predicted_SLG": 0.4695,
        "predicted_SO": 1.1943
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1805,
          "after": 0.1805,
          "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": 3.8952,
          "after": 3.8952,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2627,
          "after": 0.2663,
          "delta": 0.0036,
          "percent_delta": 0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5486,
          "after": 0.5541,
          "delta": 0.0055,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0229,
          "after": 1.0373,
          "delta": 0.0144,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.07,
          "after": 0.07,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.186,
          "after": 0.1871,
          "delta": 0.0011,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3566,
          "after": 0.3577,
          "delta": 0.0011,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5728,
          "after": 0.5886,
          "delta": 0.0158,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5163,
          "after": 0.5305,
          "delta": 0.0142,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4654,
          "after": 0.4695,
          "delta": 0.0041,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2064,
          "after": 1.1943,
          "delta": -0.0121,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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.243 HR/AB=0.048",
      "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.1805,
          "after": 0.0,
          "delta": -0.1805,
          "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.8952,
          "after": 4.0,
          "delta": 0.1048,
          "percent_delta": 0.0269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5541,
          "after": 1.0,
          "delta": 0.4459,
          "percent_delta": 0.8047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0373,
          "after": 1.0,
          "delta": -0.0373,
          "percent_delta": -0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.07,
          "after": 0.0,
          "delta": -0.07,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1871,
          "after": 0.0,
          "delta": -0.1871,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5305,
          "after": 1.0,
          "delta": 0.4695,
          "percent_delta": 0.885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1943,
          "after": 1.0,
          "delta": -0.1943,
          "percent_delta": -0.1627,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5305,
          "after": 1.0,
          "delta": 0.4695,
          "percent_delta": 0.885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.1943,
          "after": 1.0,
          "delta": -0.1943,
          "percent_delta": -0.1627,
          "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.5886,
          "after": 1.0,
          "delta": 0.4114,
          "percent_delta": 0.6989,
          "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.5886,
          "after": 1.0,
          "delta": 0.4114,
          "percent_delta": 0.6989,
          "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.1677,
        "predicted_3B": 0.0149,
        "predicted_BB": 0.4842,
        "predicted_H": 0.8936,
        "predicted_HR": 0.1939,
        "predicted_RBI": 0.5694,
        "predicted_SO": 1.2882
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1677,
          "delta": 0.1677,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0149,
          "delta": 0.0149,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4842,
          "delta": -0.5158,
          "percent_delta": -0.5158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8936,
          "delta": -0.1064,
          "percent_delta": -0.1064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1939,
          "delta": 0.1939,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5694,
          "delta": -0.4306,
          "percent_delta": -0.4306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2882,
          "delta": 0.2882,
          "percent_delta": 0.2882,
          "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.2882,
          "delta": 0.2882,
          "percent_delta": 0.2882,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4842,
          "delta": -0.5158,
          "percent_delta": -0.5158,
          "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.1677,
          "after": 0.0,
          "delta": -0.1677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0149,
          "after": 0.0,
          "delta": -0.0149,
          "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.4842,
          "after": 1.0,
          "delta": 0.5158,
          "percent_delta": 1.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8936,
          "after": 1.0,
          "delta": 0.1064,
          "percent_delta": 0.1191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1939,
          "after": 1.0,
          "delta": 0.8061,
          "percent_delta": 4.1573,
          "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.5694,
          "after": 1.0,
          "delta": 0.4306,
          "percent_delta": 0.7562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2882,
          "after": 1.0,
          "delta": -0.2882,
          "percent_delta": -0.2237,
          "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.1939,
          "after": 1.0,
          "delta": 0.8061,
          "percent_delta": 4.1573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2882,
          "after": 1.0,
          "delta": -0.2882,
          "percent_delta": -0.2237,
          "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.227,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.425,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.227,
          "delta": -0.0393,
          "percent_delta": -0.1476,
          "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.3577,
          "after": 0.317,
          "delta": -0.0407,
          "percent_delta": -0.1138,
          "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.4695,
          "after": 0.425,
          "delta": -0.0445,
          "percent_delta": -0.0948,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2663,
        "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.3577,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4695,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.227,
          "after": 0.2663,
          "delta": 0.0393,
          "percent_delta": 0.1732,
          "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.317,
          "after": 0.3577,
          "delta": 0.0407,
          "percent_delta": 0.1283,
          "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.425,
          "after": 0.4695,
          "delta": 0.0445,
          "percent_delta": 0.1047,
          "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.425,
          "after": 0.4695,
          "delta": 0.0445,
          "percent_delta": 0.1047,
          "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.187,
        "after": 0.0,
        "delta": -0.187,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.866,
        "after": 3.0,
        "delta": -0.866,
        "percent_delta": -0.224,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.274,
        "after": 0.2663,
        "delta": -0.0077,
        "percent_delta": -0.0281,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.604,
        "after": 1.0,
        "delta": 0.396,
        "percent_delta": 0.6556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.224,
        "after": 0.0,
        "delta": -0.224,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.372,
        "after": 0.3577,
        "delta": -0.0143,
        "percent_delta": -0.0384,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.657,
        "after": 1.0,
        "delta": 0.343,
        "percent_delta": 0.5221,
        "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.512,
        "after": 0.4695,
        "delta": -0.0425,
        "percent_delta": -0.083,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.127,
        "after": 0.0,
        "delta": -1.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.604,
        "after": 1.0,
        "delta": 0.396,
        "percent_delta": 0.6556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.127,
        "after": 0.0,
        "delta": -1.127,
        "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.187-
predicted_3B0.030-
predicted_AB3.866-
predicted_AVG0.274-
predicted_BB0.604-
predicted_H1.060-
predicted_HR0.224-
predicted_OBP0.372-
predicted_R0.657-
predicted_RBI0.590-
predicted_SLG0.512-
predicted_SO1.127-
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.180-0.007
predicted_3B0.025-0.005
predicted_AB3.8950.029
predicted_AVG0.263-0.011
predicted_BB0.549-0.055
predicted_H1.023-0.037
predicted_HBP0.070-
predicted_HR0.186-0.038
predicted_OBP0.357-0.015
predicted_R0.573-0.084
predicted_RBI0.516-0.074
predicted_SLG0.465-0.047
predicted_SO1.2060.079
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.1800.000
predicted_3B0.0250.000
predicted_AB3.8950.000
predicted_AVG0.2660.004
predicted_BB0.5540.006
predicted_H1.0370.014
predicted_HBP0.0700.000
predicted_HR0.1870.001
predicted_OBP0.3580.001
predicted_R0.5890.016
predicted_RBI0.5300.014
predicted_SLG0.4690.004
predicted_SO1.194-0.012
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.243 HR/AB=0.048

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.1680.168
3B0.0150.015
BB0.484-0.516
H0.894-0.106
HR0.1940.194
RBI0.569-0.431
SO1.2880.288
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.015
AB4.0000.000
BB1.0000.516
H1.0000.106
HR1.0000.806
R1.0000.000
RBI1.0000.431
SO1.000-0.288
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.180
predicted_3B0.000-0.025
predicted_AB4.0000.105
predicted_AVG0.227-0.039
predicted_BB1.0000.446
predicted_H1.000-0.037
predicted_HR0.000-0.187
predicted_OBP0.317-0.041
predicted_R1.0000.411
predicted_RBI1.0000.470
predicted_SLG0.425-0.044
predicted_SO1.000-0.194
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-
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: 134
Reference playing time: 3.866
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.0001.0000.0000.0001.0000.0001.0008.0000.23810.27270.28570.23810.00000.04760.04760.3810
last_100.2010-39.0007.0001.0000.0000.0001.0003.0004.00017.0000.17950.28890.20510.17950.00000.02560.10260.4359
season0.60134-518.000142.00025.0004.00030.00079.00088.00081.000151.0000.27410.37640.51160.27410.05790.15250.15640.2915
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1720
predicted_3B0.0180
predicted_AB3.9330
predicted_AVG0.2480
predicted_BB0.4770
predicted_H0.9750
predicted_HBP0.0700
predicted_HR0.1370
predicted_OBP0.3366
predicted_R0.4640
predicted_RBI0.4210
predicted_SLG0.4052
predicted_SO1.3090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18700.17200.1805model_form_blend
predicted_3B0.03000.01800.0248model_form_blend
predicted_AB3.86603.93303.8952model_form_blend
predicted_AVG0.27400.24800.2627model_form_blend
predicted_BB0.60400.47700.5486model_form_blend
predicted_H1.06000.97501.0229model_form_blend
predicted_HBP-0.07000.0700form_only
predicted_HR0.22400.13700.1860model_form_blend
predicted_OBP0.37200.33660.3566model_form_blend
predicted_R0.65700.46400.5728model_form_blend
predicted_RBI0.59000.42100.5163model_form_blend
predicted_SLG0.51200.40520.4654model_form_blend
predicted_SO1.12701.30901.2064model_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 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
AB3
H0
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_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_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
allPositionsPlayedDH
gameID20260927_LAD@SF
game_typefull
mlbID660271
playerID660271
playerNameShohei Ohtani
posTWP
startedTrue
startingPositionDH
teamLAD
teamID14
game_date2026-09-27
sl_k_percent24.6
sl_bb_percent13.1
sl_woba0.377
sl_xwoba0.397
sl_xba0.286
sl_xslg0.552
sl_sweet_spot_percent38.0
sl_barrel_batted_rate16.4
sl_hard_hit_percent52.1
sl_exit_velocity_avg93.3
sl_launch_angle_avg12.3
sl_whiff_percent31.7
sl_swing_percent46.6
Teoscar Hernández (606192) · BATTER · LF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 458
All-history rows before 20261003: 458
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2660
Diff (system - data): 0.0010
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1380.0000.000Hitting_2B0.1400.000-0.1400.000
predicted_3B0.0160.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB3.7403.0004.000Hitting_AB3.6623.000-0.6620.000
predicted_AVG0.2490.0000.250Hitting_AVG0.2660.000-0.2660.000
predicted_BB0.3331.0000.000Hitting_BB0.3780.0000.6221.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.9300.0001.000Hitting_H0.9740.000-0.9740.000
predicted_HR0.1600.0000.000Hitting_HR0.1290.000-0.1290.000
predicted_OBP0.3160.2500.250Hitting_OBP0.3370.000-0.0870.250
predicted_R0.5280.0001.000Hitting_R0.5520.000-0.5520.000
predicted_RBI0.4000.0000.000Hitting_RBI0.5480.000-0.5480.000
predicted_SLG0.4040.0000.250Hitting_SLG0.4190.000-0.4190.000
predicted_SO1.0813.0001.000Hitting_SO1.0900.0001.9103.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_SO: 1.0810 -> 3.0000 (boost 1.9190, worse)
Biggest Deboostpredicted_H: 0.9300 -> 0.0000 (deboost -0.9300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4040 -> 0.4199 (boost 0.0159, better)predicted_AB: 3.7400 -> 3.6833 (deboost -0.0567, 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.4199 -> 0.4344 (boost 0.0145, better)predicted_OBP: 0.3234 -> 0.3184 (deboost -0.0050, 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: 3.6833 -> 4.0000 (boost 0.3167, better)predicted_RBI: 0.4088 -> 0.0000 (deboost -0.4088, worse)AB rounded to 4 (raw=3.74), rates preserved: AVG=0.238 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.5368 -> 1.0000 (boost 0.4632, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4889 (boost 0.4889, better)predicted_H: 1.0000 -> 0.8222 (deboost -0.1778, 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.8222 -> 1.0000 (boost 0.1778, better)predicted_RBI: 0.4889 -> 0.0000 (deboost -0.4889, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_SLG: 0.4344 -> 0.3900 (deboost -0.0444, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52314predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3900 -> 0.4344 (boost 0.0444, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "606192",
  "player_name": "Teoscar Hernández",
  "position": "LF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.138,
        "predicted_3B": 0.016,
        "predicted_AB": 3.74,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.333,
        "predicted_H": 0.93,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.316,
        "predicted_R": 0.528,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.404,
        "predicted_SO": 1.081
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1415,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.6833,
        "predicted_AVG": 0.2619,
        "predicted_BB": 0.2854,
        "predicted_H": 0.9629,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.1509,
        "predicted_OBP": 0.3234,
        "predicted_R": 0.5224,
        "predicted_RBI": 0.3978,
        "predicted_SLG": 0.4199,
        "predicted_SO": 1.1208
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.138,
          "after": 0.1415,
          "delta": 0.0035,
          "percent_delta": 0.0254,
          "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.74,
          "after": 3.6833,
          "delta": -0.0567,
          "percent_delta": -0.0152,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2619,
          "delta": 0.0129,
          "percent_delta": 0.0518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.2854,
          "delta": -0.0476,
          "percent_delta": -0.1429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 0.9629,
          "delta": 0.0329,
          "percent_delta": 0.0354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1509,
          "delta": -0.0091,
          "percent_delta": -0.0569,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.3234,
          "delta": 0.0074,
          "percent_delta": 0.0234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.528,
          "after": 0.5224,
          "delta": -0.0056,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3978,
          "delta": -0.0022,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.4199,
          "delta": 0.0159,
          "percent_delta": 0.0394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.081,
          "after": 1.1208,
          "delta": 0.0398,
          "percent_delta": 0.0368,
          "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.404,
          "after": 0.4199,
          "delta": 0.0159,
          "percent_delta": 0.0394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.6833,
          "delta": -0.0567,
          "percent_delta": -0.0152,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 123
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1415,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.6833,
        "predicted_AVG": 0.2651,
        "predicted_BB": 0.2883,
        "predicted_H": 0.9765,
        "predicted_HBP": 0.078,
        "predicted_HR": 0.1518,
        "predicted_OBP": 0.3184,
        "predicted_R": 0.5368,
        "predicted_RBI": 0.4088,
        "predicted_SLG": 0.4344,
        "predicted_SO": 1.1096
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1415,
          "after": 0.1415,
          "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.6833,
          "after": 3.6833,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2619,
          "after": 0.2651,
          "delta": 0.0032,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2854,
          "after": 0.2883,
          "delta": 0.0029,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9629,
          "after": 0.9765,
          "delta": 0.0136,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.078,
          "after": 0.078,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1509,
          "after": 0.1518,
          "delta": 0.0009,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3234,
          "after": 0.3184,
          "delta": -0.005,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5224,
          "after": 0.5368,
          "delta": 0.0144,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3978,
          "after": 0.4088,
          "delta": 0.011,
          "percent_delta": 0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4199,
          "after": 0.4344,
          "delta": 0.0145,
          "percent_delta": 0.0345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1208,
          "after": 1.1096,
          "delta": -0.0112,
          "percent_delta": -0.01,
          "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.4199,
          "after": 0.4344,
          "delta": 0.0145,
          "percent_delta": 0.0345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3234,
          "after": 0.3184,
          "delta": -0.005,
          "percent_delta": -0.0155,
          "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.238 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.1415,
          "after": 0.0,
          "delta": -0.1415,
          "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.6833,
          "after": 4.0,
          "delta": 0.3167,
          "percent_delta": 0.086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2883,
          "after": 0.0,
          "delta": -0.2883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9765,
          "after": 1.0,
          "delta": 0.0235,
          "percent_delta": 0.0241,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.078,
          "after": 0.0,
          "delta": -0.078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1518,
          "after": 0.0,
          "delta": -0.1518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4088,
          "after": 0.0,
          "delta": -0.4088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1096,
          "after": 1.0,
          "delta": -0.1096,
          "percent_delta": -0.0988,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6833,
          "after": 4.0,
          "delta": 0.3167,
          "percent_delta": 0.086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4088,
          "after": 0.0,
          "delta": -0.4088,
          "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.5368,
          "after": 1.0,
          "delta": 0.4632,
          "percent_delta": 0.8629,
          "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.5368,
          "after": 1.0,
          "delta": 0.4632,
          "percent_delta": 0.8629,
          "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.1645,
        "predicted_3B": 0.0096,
        "predicted_BB": 0.3513,
        "predicted_H": 0.8222,
        "predicted_HR": 0.1348,
        "predicted_RBI": 0.4889,
        "predicted_SO": 1.2164
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1645,
          "delta": 0.1645,
          "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.3513,
          "delta": 0.3513,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8222,
          "delta": -0.1778,
          "percent_delta": -0.1778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1348,
          "delta": 0.1348,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4889,
          "delta": 0.4889,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2164,
          "delta": 0.2164,
          "percent_delta": 0.2164,
          "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.4889,
          "delta": 0.4889,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8222,
          "delta": -0.1778,
          "percent_delta": -0.1778,
          "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.1645,
          "after": 0.0,
          "delta": -0.1645,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3513,
          "after": 0.0,
          "delta": -0.3513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8222,
          "after": 1.0,
          "delta": 0.1778,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1348,
          "after": 0.0,
          "delta": -0.1348,
          "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.4889,
          "after": 0.0,
          "delta": -0.4889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2164,
          "after": 1.0,
          "delta": -0.2164,
          "percent_delta": -0.1779,
          "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.8222,
          "after": 1.0,
          "delta": 0.1778,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4889,
          "after": 0.0,
          "delta": -0.4889,
          "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.301,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2651,
          "after": 0.227,
          "delta": -0.0381,
          "percent_delta": -0.1437,
          "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.3184,
          "after": 0.301,
          "delta": -0.0174,
          "percent_delta": -0.0546,
          "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.4344,
          "after": 0.39,
          "delta": -0.0444,
          "percent_delta": -0.1022,
          "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.4344,
          "after": 0.39,
          "delta": -0.0444,
          "percent_delta": -0.1022,
          "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": 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": 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": 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_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.2651,
        "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.3184,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4344,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2651,
          "delta": 0.0381,
          "percent_delta": 0.1679,
          "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.301,
          "after": 0.3184,
          "delta": 0.0174,
          "percent_delta": 0.058,
          "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.39,
          "after": 0.4344,
          "delta": 0.0444,
          "percent_delta": 0.1139,
          "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.39,
          "after": 0.4344,
          "delta": 0.0444,
          "percent_delta": 0.1139,
          "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.138,
        "after": 0.0,
        "delta": -0.138,
        "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.74,
        "after": 3.0,
        "delta": -0.74,
        "percent_delta": -0.1979,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2651,
        "delta": 0.0161,
        "percent_delta": 0.0647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 0.0,
        "delta": -0.93,
        "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.316,
        "after": 0.3184,
        "delta": 0.0024,
        "percent_delta": 0.0076,
        "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.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.404,
        "after": 0.4344,
        "delta": 0.0304,
        "percent_delta": 0.0752,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.081,
        "after": 3.0,
        "delta": 1.919,
        "percent_delta": 1.7752,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.081,
        "after": 3.0,
        "delta": 1.919,
        "percent_delta": 1.7752,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 0.0,
        "delta": -0.93,
        "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.138-
predicted_3B0.016-
predicted_AB3.740-
predicted_AVG0.249-
predicted_BB0.333-
predicted_H0.930-
predicted_HR0.160-
predicted_OBP0.316-
predicted_R0.528-
predicted_RBI0.400-
predicted_SLG0.404-
predicted_SO1.081-
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.1410.003
predicted_3B0.013-0.003
predicted_AB3.683-0.057
predicted_AVG0.2620.013
predicted_BB0.285-0.048
predicted_H0.9630.033
predicted_HBP0.078-
predicted_HR0.151-0.009
predicted_OBP0.3230.007
predicted_R0.522-0.006
predicted_RBI0.398-0.002
predicted_SLG0.4200.016
predicted_SO1.1210.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.1410.000
predicted_3B0.0130.000
predicted_AB3.6830.000
predicted_AVG0.2650.003
predicted_BB0.2880.003
predicted_H0.9770.014
predicted_HBP0.0780.000
predicted_HR0.1520.001
predicted_OBP0.318-0.005
predicted_R0.5370.014
predicted_RBI0.4090.011
predicted_SLG0.4340.015
predicted_SO1.110-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.74), rates preserved: AVG=0.238 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.1650.165
3B0.0100.010
BB0.3510.351
H0.822-0.178
HR0.1350.135
RBI0.4890.489
SO1.2160.216
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.010
AB4.0000.000
BB0.000-0.351
H1.0000.178
HR0.000-0.135
R1.0000.000
RBI0.000-0.489
SO1.000-0.216
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.013
predicted_AB4.0000.317
predicted_AVG0.227-0.038
predicted_BB0.000-0.288
predicted_H1.0000.023
predicted_HR0.000-0.152
predicted_OBP0.301-0.017
predicted_R1.0000.463
predicted_RBI0.000-0.409
predicted_SLG0.390-0.044
predicted_SO1.000-0.110
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.000-1.000
RBI0.0000.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: 123
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.0005.0001.0000.0001.0001.0002.0000.0007.0000.29410.33330.52940.29410.05880.05880.00000.4118
last_100.2010-39.00012.0001.0000.0001.0002.0006.0001.00013.0000.30770.34150.41030.30770.02560.05130.02560.3333
season0.60123-438.000117.00017.0002.00016.00063.00065.00041.000133.0000.26710.33330.42470.26710.03650.14380.09360.3036
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1460
predicted_3B0.0100
predicted_AB3.6090
predicted_AVG0.2787
predicted_BB0.2230
predicted_H1.0060
predicted_HBP0.0780
predicted_HR0.1390
predicted_OBP0.3332
predicted_R0.5150
predicted_RBI0.3950
predicted_SLG0.4407
predicted_SO1.1730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13800.14600.1415model_form_blend
predicted_3B0.01600.01000.0134model_form_blend
predicted_AB3.74003.60903.6833model_form_blend
predicted_AVG0.24900.27870.2619model_form_blend
predicted_BB0.33300.22300.2854model_form_blend
predicted_H0.93001.00600.9629model_form_blend
predicted_HBP-0.07800.0780form_only
predicted_HR0.16000.13900.1509model_form_blend
predicted_OBP0.31600.33320.3234model_form_blend
predicted_R0.52800.51500.5224model_form_blend
predicted_RBI0.40000.39500.3978model_form_blend
predicted_SLG0.40400.44070.4199model_form_blend
predicted_SO1.08101.17301.1208model_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 date458
Season rows before report date458
Report year2026
Profile rows used123
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
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_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_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
allPositionsPlayedLF
gameID20260927_LAD@SF
game_typefull
mlbID606192
playerID606192
playerNameTeoscar Hernández
posLF
startedTrue
startingPositionLF
teamLAD
teamID14
game_date2026-09-27
sl_k_percent27.5
sl_bb_percent8.6
sl_woba0.332
sl_xwoba0.332
sl_xba0.256
sl_xslg0.437
sl_sweet_spot_percent33.5
sl_barrel_batted_rate10.7
sl_hard_hit_percent44.8
sl_exit_velocity_avg90.3
sl_launch_angle_avg13.9
sl_whiff_percent32.6
sl_swing_percent48.0
Mookie Betts (605141) · BATTER · SS · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 490
All-history rows before 20261003: 490
System season_avg: 0.2590
Data season_avg (2026 season-to-date): 0.2600
Diff (system - data): -0.0010
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2070.0001.000Hitting_2B0.1920.000-0.1920.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.5403.0004.000Hitting_AB4.0652.000-1.0651.000
predicted_AVG0.2330.0000.250Hitting_AVG0.2600.000-0.2600.000
predicted_BB0.3641.0000.000Hitting_BB0.3550.0000.6451.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.0600.0001.000Hitting_H1.0570.000-1.0570.000
predicted_HR0.1900.0000.000Hitting_HR0.1980.000-0.1980.000
predicted_OBP0.3190.2500.250Hitting_OBP0.3220.000-0.0720.250
predicted_R0.5791.0001.000Hitting_R0.6240.0000.3761.000
predicted_RBI0.5600.0001.000Hitting_RBI0.6100.000-0.6100.000
predicted_SLG0.4620.0000.500Hitting_SLG0.4530.000-0.4530.000
predicted_SO0.4631.0000.000Hitting_SO0.4882.0000.512-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3640 -> 1.0000 (boost 0.6360, better)
Biggest Deboostpredicted_AB: 4.5400 -> 3.0000 (deboost -1.5400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4620 -> 0.4827 (boost 0.0207, better)predicted_AB: 4.5400 -> 4.2335 (deboost -0.3065, 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.4827 -> 0.4503 (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_scaling70716-predicted_RBI: 0.5558 -> 0.0000 (deboost -0.5558, worse)AB rounded to 4 (raw=4.54), rates preserved: AVG=0.216 HR/AB=0.044
6consistency_constraints11010predicted_R: 0.5959 -> 1.0000 (boost 0.4041, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_SO: 0.0000 -> 0.5769 (boost 0.5769, worse)predicted_H: 1.0000 -> 0.8800 (deboost -0.1200, 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.1972 -> 1.0000 (boost 0.8028, better)predicted_SO: 0.5769 -> 0.0000 (deboost -0.5769, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_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
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_final33030predicted_SLG: 0.4170 -> 0.4503 (boost 0.0333, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "605141",
  "player_name": "Mookie Betts",
  "position": "SS",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.207,
        "predicted_3B": 0.0,
        "predicted_AB": 4.54,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.364,
        "predicted_H": 1.06,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.319,
        "predicted_R": 0.579,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.462,
        "predicted_SO": 0.463
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.23,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.2335,
        "predicted_AVG": 0.2521,
        "predicted_BB": 0.41,
        "predicted_H": 1.0609,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1987,
        "predicted_OBP": 0.335,
        "predicted_R": 0.5799,
        "predicted_RBI": 0.5409,
        "predicted_SLG": 0.4827,
        "predicted_SO": 0.4964
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.23,
          "delta": 0.023,
          "percent_delta": 0.1111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.54,
          "after": 4.2335,
          "delta": -0.3065,
          "percent_delta": -0.0675,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2521,
          "delta": 0.0191,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.364,
          "after": 0.41,
          "delta": 0.046,
          "percent_delta": 0.1264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 1.0609,
          "delta": 0.0009,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1987,
          "delta": 0.0087,
          "percent_delta": 0.0458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.335,
          "delta": 0.016,
          "percent_delta": 0.0502,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.579,
          "after": 0.5799,
          "delta": 0.0009,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.5409,
          "delta": -0.0191,
          "percent_delta": -0.0341,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4827,
          "delta": 0.0207,
          "percent_delta": 0.0448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.463,
          "after": 0.4964,
          "delta": 0.0334,
          "percent_delta": 0.0721,
          "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.462,
          "after": 0.4827,
          "delta": 0.0207,
          "percent_delta": 0.0448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.54,
          "after": 4.2335,
          "delta": -0.3065,
          "percent_delta": -0.0675,
          "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.23,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.2335,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.4141,
        "predicted_H": 1.0759,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1999,
        "predicted_OBP": 0.3206,
        "predicted_R": 0.5959,
        "predicted_RBI": 0.5558,
        "predicted_SLG": 0.4503,
        "predicted_SO": 0.4914
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.23,
          "after": 0.23,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2335,
          "after": 4.2335,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2521,
          "after": 0.2541,
          "delta": 0.002,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.41,
          "after": 0.4141,
          "delta": 0.0041,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0609,
          "after": 1.0759,
          "delta": 0.015,
          "percent_delta": 0.0141,
          "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.1987,
          "after": 0.1999,
          "delta": 0.0012,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.3206,
          "delta": -0.0144,
          "percent_delta": -0.043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5799,
          "after": 0.5959,
          "delta": 0.016,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5409,
          "after": 0.5558,
          "delta": 0.0149,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4827,
          "after": 0.4503,
          "delta": -0.0324,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4964,
          "after": 0.4914,
          "delta": -0.005,
          "percent_delta": -0.0101,
          "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.4827,
          "after": 0.4503,
          "delta": -0.0324,
          "percent_delta": -0.0671,
          "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.54), rates preserved: AVG=0.216 HR/AB=0.044",
      "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.23,
          "after": 0.0,
          "delta": -0.23,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2335,
          "after": 4.0,
          "delta": -0.2335,
          "percent_delta": -0.0552,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4141,
          "after": 0.0,
          "delta": -0.4141,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0759,
          "after": 1.0,
          "delta": -0.0759,
          "percent_delta": -0.0705,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1999,
          "after": 0.0,
          "delta": -0.1999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5558,
          "after": 0.0,
          "delta": -0.5558,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4914,
          "after": 0.0,
          "delta": -0.4914,
          "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.5558,
          "after": 0.0,
          "delta": -0.5558,
          "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": 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.5959,
          "after": 1.0,
          "delta": 0.4041,
          "percent_delta": 0.6781,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5959,
          "after": 1.0,
          "delta": 0.4041,
          "percent_delta": 0.6781,
          "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.1972,
        "predicted_3B": 0.0063,
        "predicted_BB": 0.379,
        "predicted_H": 0.88,
        "predicted_HR": 0.1796,
        "predicted_RBI": 0.5366,
        "predicted_SO": 0.5769
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1972,
          "delta": 0.1972,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0063,
          "delta": 0.0063,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.379,
          "delta": 0.379,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.88,
          "delta": -0.12,
          "percent_delta": -0.12,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1796,
          "delta": 0.1796,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5366,
          "delta": 0.5366,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5769,
          "delta": 0.5769,
          "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_SO",
          "before": 0.0,
          "after": 0.5769,
          "delta": 0.5769,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.88,
          "delta": -0.12,
          "percent_delta": -0.12,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1972,
          "after": 1.0,
          "delta": 0.8028,
          "percent_delta": 4.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0063,
          "after": 0.0,
          "delta": -0.0063,
          "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.379,
          "after": 0.0,
          "delta": -0.379,
          "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.1796,
          "after": 0.0,
          "delta": -0.1796,
          "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.5366,
          "after": 1.0,
          "delta": 0.4634,
          "percent_delta": 0.8636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5769,
          "after": 0.0,
          "delta": -0.5769,
          "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.1972,
          "after": 1.0,
          "delta": 0.8028,
          "percent_delta": 4.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5769,
          "after": 0.0,
          "delta": -0.5769,
          "percent_delta": -1.0,
          "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.225,
        "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.417,
        "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.2541,
          "after": 0.225,
          "delta": -0.0291,
          "percent_delta": -0.1145,
          "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.3206,
          "after": 0.299,
          "delta": -0.0216,
          "percent_delta": -0.0674,
          "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.4503,
          "after": 0.417,
          "delta": -0.0333,
          "percent_delta": -0.074,
          "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": 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": 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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "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.2541,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3206,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4503,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2541,
          "delta": 0.0291,
          "percent_delta": 0.1295,
          "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.299,
          "after": 0.3206,
          "delta": 0.0216,
          "percent_delta": 0.0722,
          "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.417,
          "after": 0.4503,
          "delta": 0.0333,
          "percent_delta": 0.0798,
          "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.417,
          "after": 0.4503,
          "delta": 0.0333,
          "percent_delta": 0.0798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.207,
        "after": 0.0,
        "delta": -0.207,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.54,
        "after": 3.0,
        "delta": -1.54,
        "percent_delta": -0.3392,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2541,
        "delta": 0.0211,
        "percent_delta": 0.0906,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.364,
        "after": 1.0,
        "delta": 0.636,
        "percent_delta": 1.7473,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.3206,
        "delta": 0.0016,
        "percent_delta": 0.005,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.579,
        "after": 1.0,
        "delta": 0.421,
        "percent_delta": 0.7271,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.462,
        "after": 0.4503,
        "delta": -0.0117,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.463,
        "after": 1.0,
        "delta": 0.537,
        "percent_delta": 1.1598,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.364,
        "after": 1.0,
        "delta": 0.636,
        "percent_delta": 1.7473,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.54,
        "after": 3.0,
        "delta": -1.54,
        "percent_delta": -0.3392,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.207-
predicted_3B0.000-
predicted_AB4.540-
predicted_AVG0.233-
predicted_BB0.364-
predicted_H1.060-
predicted_HR0.190-
predicted_OBP0.319-
predicted_R0.579-
predicted_RBI0.560-
predicted_SLG0.462-
predicted_SO0.463-
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.2300.023
predicted_3B0.0000.000
predicted_AB4.234-0.306
predicted_AVG0.2520.019
predicted_BB0.4100.046
predicted_H1.0610.001
predicted_HBP0.011-
predicted_HR0.1990.009
predicted_OBP0.3350.016
predicted_R0.5800.001
predicted_RBI0.541-0.019
predicted_SLG0.4830.021
predicted_SO0.4960.033
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.2300.000
predicted_3B0.0000.000
predicted_AB4.2340.000
predicted_AVG0.2540.002
predicted_BB0.4140.004
predicted_H1.0760.015
predicted_HBP0.0110.000
predicted_HR0.2000.001
predicted_OBP0.321-0.014
predicted_R0.5960.016
predicted_RBI0.5560.015
predicted_SLG0.450-0.032
predicted_SO0.491-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=4.54), rates preserved: AVG=0.216 HR/AB=0.044

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
R1.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.1970.197
3B0.0060.006
BB0.3790.379
H0.880-0.120
HR0.1800.180
RBI0.5370.537
SO0.5770.577
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.803
3B0.000-0.006
AB4.0000.000
BB0.000-0.379
H1.0000.120
HR0.000-0.180
R1.0000.000
RBI1.0000.463
SO0.000-0.577
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.230
predicted_3B0.000-0.000
predicted_AB4.000-0.234
predicted_AVG0.225-0.029
predicted_BB0.000-0.414
predicted_H1.000-0.076
predicted_HR0.000-0.200
predicted_OBP0.299-0.022
predicted_R1.0000.404
predicted_RBI0.000-0.556
predicted_SLG0.417-0.033
predicted_SO0.000-0.491
10. 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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.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: 121
Reference playing time: 4.540
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.0001.0001.0002.0003.0004.0000.22220.33330.44440.22220.05560.05560.16670.2222
last_100.2010-38.00015.0005.0000.0003.0007.0008.0007.0004.0000.39470.48890.76320.39470.07900.18420.18420.1053
season0.60121-475.000123.00025.0000.00023.00069.00070.00044.00056.0000.25890.32380.45680.25900.04840.14530.09260.1179
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2600
predicted_3B0.0010
predicted_AB3.8340
predicted_AVG0.2771
predicted_BB0.4700
predicted_H1.0620
predicted_HBP0.0110
predicted_HR0.2100
predicted_OBP0.3558
predicted_R0.5810
predicted_RBI0.5160
predicted_SLG0.5097
predicted_SO0.5400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.26000.2300model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.54003.83404.2335model_form_blend
predicted_AVG0.23300.27710.2521model_form_blend
predicted_BB0.36400.47000.4100model_form_blend
predicted_H1.06001.06201.0609model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.19000.21000.1987model_form_blend
predicted_OBP0.31900.35580.3350model_form_blend
predicted_R0.57900.58100.5799model_form_blend
predicted_RBI0.56000.51600.5409model_form_blend
predicted_SLG0.46200.50970.4827model_form_blend
predicted_SO0.46300.54000.4964model_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 date490
Season rows before report date490
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
H0
2B0
3B0
HR0
R1
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_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
allPositionsPlayedSS
gameID20260927_LAD@SF
game_typefull
mlbID605141
playerID605141
playerNameMookie Betts
posSS
startedTrue
startingPositionSS
teamLAD
teamID14
game_date2026-09-27
sl_k_percent11.0
sl_bb_percent8.9
sl_woba0.338
sl_xwoba0.339
sl_xba0.278
sl_xslg0.435
sl_sweet_spot_percent40.4
sl_barrel_batted_rate7.8
sl_hard_hit_percent38.0
sl_exit_velocity_avg90.2
sl_launch_angle_avg17.9
sl_whiff_percent12.5
sl_swing_percent41.3
Will Smith (669257) · BATTER · C · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 253
All-history rows before 20261003: 253
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2530
Diff (system - data): 0.0070
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.1291.0000.000Hitting_2B0.1580.0000.8421.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3004.0004.000Hitting_AB3.5933.0000.4071.000
predicted_AVG0.3180.5000.250Hitting_AVG0.2530.3330.2470.167
predicted_BB0.4570.0001.000Hitting_BB0.4980.000-0.4980.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.3702.0001.000Hitting_H0.9091.0001.0911.000
predicted_HR0.2101.0000.000Hitting_HR0.1230.0000.8771.000
predicted_OBP0.3940.5000.400Hitting_OBP0.3480.3330.1520.167
predicted_R0.5001.0000.000Hitting_R0.5381.0000.4620.000
predicted_RBI0.6102.0000.000Hitting_RBI0.5300.0001.4702.000
predicted_SLG0.5051.5000.250Hitting_SLG0.3990.3331.1011.167
predicted_SO0.6430.0001.000Hitting_SO0.6761.000-0.676-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics8
Boosted Metrics5
Deboosted Metrics3
Better Metrics6
Worse Metrics2
Biggest Boostpredicted_RBI: 0.6100 -> 2.0000 (boost 1.3900, better)
Biggest Deboostpredicted_SO: 0.6430 -> 0.0000 (deboost -0.6430, 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.3000 -> 3.8823 (deboost -0.4177, 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_AVG: 0.3151 -> 0.3203 (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_scaling72516predicted_SO: 0.6641 -> 1.0000 (boost 0.3359, worse)predicted_RBI: 0.5460 -> 0.0000 (deboost -0.5460, worse)AB rounded to 4 (raw=4.30), rates preserved: AVG=0.264 HR/AB=0.046
6consistency_constraints11010predicted_R: 0.5138 -> 1.0000 (boost 0.4862, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4681 (boost 0.4681, better)predicted_SO: 1.0000 -> 0.8006 (deboost -0.1994, 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_BB: 0.4524 -> 1.0000 (boost 0.5476, 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_reference54150predicted_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_SLG: 0.3860 -> 0.5071 (boost 0.1211, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669257",
  "player_name": "Will Smith",
  "position": "C",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.129,
        "predicted_3B": 0.0,
        "predicted_AB": 4.3,
        "predicted_AVG": 0.318,
        "predicted_BB": 0.457,
        "predicted_H": 1.37,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.394,
        "predicted_R": 0.5,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.505,
        "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.1248,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8823,
        "predicted_AVG": 0.3151,
        "predicted_BB": 0.4823,
        "predicted_H": 1.2264,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1986,
        "predicted_OBP": 0.398,
        "predicted_R": 0.5,
        "predicted_RBI": 0.5313,
        "predicted_SLG": 0.5085,
        "predicted_SO": 0.6708
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.129,
          "after": 0.1248,
          "delta": -0.0042,
          "percent_delta": -0.0326,
          "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.3,
          "after": 3.8823,
          "delta": -0.4177,
          "percent_delta": -0.0971,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.318,
          "after": 0.3151,
          "delta": -0.0029,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.457,
          "after": 0.4823,
          "delta": 0.0253,
          "percent_delta": 0.0554,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.37,
          "after": 1.2264,
          "delta": -0.1436,
          "percent_delta": -0.1048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.1986,
          "delta": -0.0114,
          "percent_delta": -0.0543,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.394,
          "after": 0.398,
          "delta": 0.004,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.5313,
          "delta": -0.0787,
          "percent_delta": -0.129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.505,
          "after": 0.5085,
          "delta": 0.0035,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.643,
          "after": 0.6708,
          "delta": 0.0278,
          "percent_delta": 0.0432,
          "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.3,
          "after": 3.8823,
          "delta": -0.4177,
          "percent_delta": -0.0971,
          "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": 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.1248,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8823,
        "predicted_AVG": 0.3203,
        "predicted_BB": 0.4871,
        "predicted_H": 1.2437,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1998,
        "predicted_OBP": 0.3961,
        "predicted_R": 0.5138,
        "predicted_RBI": 0.546,
        "predicted_SLG": 0.5071,
        "predicted_SO": 0.6641
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1248,
          "after": 0.1248,
          "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.8823,
          "after": 3.8823,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3151,
          "after": 0.3203,
          "delta": 0.0052,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4823,
          "after": 0.4871,
          "delta": 0.0048,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2264,
          "after": 1.2437,
          "delta": 0.0173,
          "percent_delta": 0.0141,
          "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.1986,
          "after": 0.1998,
          "delta": 0.0012,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.398,
          "after": 0.3961,
          "delta": -0.0019,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5138,
          "delta": 0.0138,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5313,
          "after": 0.546,
          "delta": 0.0147,
          "percent_delta": 0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5085,
          "after": 0.5071,
          "delta": -0.0014,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6708,
          "after": 0.6641,
          "delta": -0.0067,
          "percent_delta": -0.01,
          "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.3151,
          "after": 0.3203,
          "delta": 0.0052,
          "percent_delta": 0.0165,
          "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.30), rates preserved: AVG=0.264 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1248,
          "after": 0.0,
          "delta": -0.1248,
          "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.8823,
          "after": 4.0,
          "delta": 0.1177,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4871,
          "after": 0.0,
          "delta": -0.4871,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2437,
          "after": 1.0,
          "delta": -0.2437,
          "percent_delta": -0.1959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.026,
          "after": 0.0,
          "delta": -0.026,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1998,
          "after": 0.0,
          "delta": -0.1998,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.546,
          "after": 0.0,
          "delta": -0.546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6641,
          "after": 1.0,
          "delta": 0.3359,
          "percent_delta": 0.5058,
          "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.6641,
          "after": 1.0,
          "delta": 0.3359,
          "percent_delta": 0.5058,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.546,
          "after": 0.0,
          "delta": -0.546,
          "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.5138,
          "after": 1.0,
          "delta": 0.4862,
          "percent_delta": 0.9463,
          "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.5138,
          "after": 1.0,
          "delta": 0.4862,
          "percent_delta": 0.9463,
          "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.168,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.4524,
        "predicted_H": 0.8026,
        "predicted_HR": 0.1435,
        "predicted_RBI": 0.4681,
        "predicted_SO": 0.8006
      },
      "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.0072,
          "delta": 0.0072,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4524,
          "delta": 0.4524,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8026,
          "delta": -0.1974,
          "percent_delta": -0.1974,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1435,
          "delta": 0.1435,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4681,
          "delta": 0.4681,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8006,
          "delta": -0.1994,
          "percent_delta": -0.1994,
          "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.4681,
          "delta": 0.4681,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8006,
          "delta": -0.1994,
          "percent_delta": -0.1994,
          "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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.0,
          "delta": -0.168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0072,
          "after": 0.0,
          "delta": -0.0072,
          "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.4524,
          "after": 1.0,
          "delta": 0.5476,
          "percent_delta": 1.2104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8026,
          "after": 1.0,
          "delta": 0.1974,
          "percent_delta": 0.246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1435,
          "after": 0.0,
          "delta": -0.1435,
          "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.4681,
          "after": 0.0,
          "delta": -0.4681,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8006,
          "after": 1.0,
          "delta": 0.1994,
          "percent_delta": 0.2491,
          "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.4524,
          "after": 1.0,
          "delta": 0.5476,
          "percent_delta": 1.2104,
          "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": 4.0,
        "predicted_AVG": 0.219,
        "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.386,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3203,
          "after": 0.219,
          "delta": -0.1013,
          "percent_delta": -0.3163,
          "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.3961,
          "after": 0.31,
          "delta": -0.0861,
          "percent_delta": -0.2174,
          "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.5071,
          "after": 0.386,
          "delta": -0.1211,
          "percent_delta": -0.2388,
          "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.3203,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3961,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5071,
        "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.219,
          "after": 0.3203,
          "delta": 0.1013,
          "percent_delta": 0.4628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.31,
          "after": 0.3961,
          "delta": 0.0861,
          "percent_delta": 0.2778,
          "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.386,
          "after": 0.5071,
          "delta": 0.1211,
          "percent_delta": 0.3137,
          "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.386,
          "after": 0.5071,
          "delta": 0.1211,
          "percent_delta": 0.3137,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.129,
        "after": 1.0,
        "delta": 0.871,
        "percent_delta": 6.7519,
        "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.3,
        "after": 4.0,
        "delta": -0.3,
        "percent_delta": -0.0698,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.318,
        "after": 0.3203,
        "delta": 0.0023,
        "percent_delta": 0.0072,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.457,
        "after": 0.0,
        "delta": -0.457,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.37,
        "after": 2.0,
        "delta": 0.63,
        "percent_delta": 0.4599,
        "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.394,
        "after": 0.3961,
        "delta": 0.0021,
        "percent_delta": 0.0053,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 2.0,
        "delta": 1.39,
        "percent_delta": 2.2787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.505,
        "after": 0.5071,
        "delta": 0.0021,
        "percent_delta": 0.0042,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.643,
        "after": 0.0,
        "delta": -0.643,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 5,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 2.0,
        "delta": 1.39,
        "percent_delta": 2.2787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.643,
        "after": 0.0,
        "delta": -0.643,
        "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.129-
predicted_3B0.000-
predicted_AB4.300-
predicted_AVG0.318-
predicted_BB0.457-
predicted_H1.370-
predicted_HR0.210-
predicted_OBP0.394-
predicted_R0.500-
predicted_RBI0.610-
predicted_SLG0.505-
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.125-0.004
predicted_3B0.0000.000
predicted_AB3.882-0.418
predicted_AVG0.315-0.003
predicted_BB0.4820.025
predicted_H1.226-0.144
predicted_HBP0.026-
predicted_HR0.199-0.011
predicted_OBP0.3980.004
predicted_R0.5000.000
predicted_RBI0.531-0.079
predicted_SLG0.5080.003
predicted_SO0.6710.028
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.1250.000
predicted_3B0.0000.000
predicted_AB3.8820.000
predicted_AVG0.3200.005
predicted_BB0.4870.005
predicted_H1.2440.017
predicted_HBP0.0260.000
predicted_HR0.2000.001
predicted_OBP0.396-0.002
predicted_R0.5140.014
predicted_RBI0.5460.015
predicted_SLG0.507-0.001
predicted_SO0.664-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.264 HR/AB=0.046

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.1680.168
3B0.0070.007
BB0.4520.452
H0.803-0.197
HR0.1430.143
RBI0.4680.468
SO0.801-0.199
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.007
AB4.0000.000
BB1.0000.548
H1.0000.197
HR0.000-0.143
R0.000-1.000
RBI0.000-0.468
SO1.0000.199
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.125
predicted_3B0.000-0.000
predicted_AB4.0000.118
predicted_AVG0.219-0.101
predicted_BB0.000-0.487
predicted_H1.000-0.244
predicted_HR0.000-0.200
predicted_OBP0.310-0.086
predicted_R1.0000.486
predicted_RBI0.000-0.546
predicted_SLG0.386-0.121
predicted_SO1.0000.336
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.000-1.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: 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-14.0006.0000.0000.0001.0001.0002.0003.0004.0000.42860.52940.64290.42860.07140.07140.21430.2857
last_100.2010-34.00013.0002.0000.0003.0005.0006.0007.0007.0000.38240.48780.70590.38240.08820.14710.20590.2059
season0.6070-235.00061.0009.0000.00010.00033.00035.00032.00045.0000.25960.35160.42550.25960.04250.14040.13620.1915
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.0010
predicted_AB3.3080
predicted_AVG0.3111
predicted_BB0.5170
predicted_H1.0290
predicted_HBP0.0260
predicted_HR0.1830
predicted_OBP0.4036
predicted_R0.5000
predicted_RBI0.4230
predicted_SLG0.5134
predicted_SO0.7090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12900.11900.1248model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.30003.30803.8823model_form_blend
predicted_AVG0.31800.31110.3151model_form_blend
predicted_BB0.45700.51700.4823model_form_blend
predicted_H1.37001.02901.2264model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.21000.18300.1986model_form_blend
predicted_OBP0.39400.40360.3980model_form_blend
predicted_R0.50000.50000.5000model_form_blend
predicted_RBI0.61000.42300.5313model_form_blend
predicted_SLG0.50500.51340.5085model_form_blend
predicted_SO0.64300.70900.6708model_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 date253
Season rows before report date253
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
AB4
H2
2B1
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_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
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
allPositionsPlayedC
gameID20260926_LAD@SF
game_typefull
mlbID669257
playerID669257
playerNameWill Smith
posC
startedTrue
startingPositionC
teamLAD
teamID14
game_date2026-09-26
sl_k_percent16.3
sl_bb_percent12.3
sl_woba0.345
sl_xwoba0.389
sl_xba0.279
sl_xslg0.502
sl_sweet_spot_percent43.3
sl_barrel_batted_rate12.4
sl_hard_hit_percent41.2
sl_exit_velocity_avg89.1
sl_launch_angle_avg20.1
sl_whiff_percent16.7
sl_swing_percent41.6
Freddie Freeman (518692) · BATTER · 1B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 624
All-history rows before 20261003: 624
System season_avg: 0.2890
Data season_avg (2026 season-to-date): 0.2922
Diff (system - data): -0.0032
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.2110.0000.000Hitting_2B0.2290.000-0.2290.000
predicted_3B0.0070.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.8903.0004.000Hitting_AB3.8063.000-0.8060.000
predicted_AVG0.2380.6670.250Hitting_AVG0.2920.0000.3740.667
predicted_BB0.4341.0000.000Hitting_BB0.4920.0000.5081.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9302.0001.000Hitting_H1.1120.0000.8882.000
predicted_HR0.1100.0000.000Hitting_HR0.1110.000-0.1110.000
predicted_OBP0.2840.7500.250Hitting_OBP0.3750.0000.3750.750
predicted_R0.4871.0000.000Hitting_R0.5380.0000.4621.000
predicted_RBI0.4801.0000.000Hitting_RBI0.4900.0000.5101.000
predicted_SLG0.3600.6670.250Hitting_SLG0.4430.0000.2240.667
predicted_SO0.7500.0001.000Hitting_SO0.7531.000-0.753-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_H: 0.9300 -> 2.0000 (boost 1.0700, better)
Biggest Deboostpredicted_AB: 3.8900 -> 3.0000 (deboost -0.8900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63324predicted_SO: 0.7500 -> 0.8326 (boost 0.0826, worse)predicted_BB: 0.4340 -> 0.3693 (deboost -0.0647, 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_OBP: 0.2911 -> 0.3141 (boost 0.0230, 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_scaling62415predicted_SO: 0.8243 -> 1.0000 (boost 0.1757, worse)predicted_RBI: 0.4883 -> 0.0000 (deboost -0.4883, worse)AB rounded to 4 (raw=3.89), rates preserved: AVG=0.227 HR/AB=0.024
6consistency_constraints10101-predicted_R: 0.4371 -> 0.0000 (deboost -0.4371, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4635 (boost 0.4635, better)predicted_SO: 1.0000 -> 0.8961 (deboost -0.1039, 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.8961 -> 1.0000 (boost 0.1039, worse)predicted_RBI: 0.4635 -> 0.0000 (deboost -0.4635, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context21111predicted_SLG: 0.3679 -> 0.3780 (boost 0.0101, better)predicted_AVG: 0.2483 -> 0.2390 (deboost -0.0093, 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_AVG: 0.2390 -> 0.2483 (boost 0.0093, better)predicted_SLG: 0.3780 -> 0.3679 (deboost -0.0101, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "518692",
  "player_name": "Freddie Freeman",
  "position": "1B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.007,
        "predicted_AB": 3.89,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.434,
        "predicted_H": 0.93,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.284,
        "predicted_R": 0.487,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.36,
        "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.1765,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.8883,
        "predicted_AVG": 0.2442,
        "predicted_BB": 0.3693,
        "predicted_H": 0.9519,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0916,
        "predicted_OBP": 0.2911,
        "predicted_R": 0.4254,
        "predicted_RBI": 0.4752,
        "predicted_SLG": 0.3517,
        "predicted_SO": 0.8326
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.1765,
          "delta": -0.0345,
          "percent_delta": -0.1635,
          "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.89,
          "after": 3.8883,
          "delta": -0.0017,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2442,
          "delta": 0.0062,
          "percent_delta": 0.0261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.434,
          "after": 0.3693,
          "delta": -0.0647,
          "percent_delta": -0.1491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 0.9519,
          "delta": 0.0219,
          "percent_delta": 0.0235,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.0916,
          "delta": -0.0184,
          "percent_delta": -0.1673,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2911,
          "delta": 0.0071,
          "percent_delta": 0.025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.487,
          "after": 0.4254,
          "delta": -0.0616,
          "percent_delta": -0.1265,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4752,
          "delta": -0.0048,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.3517,
          "delta": -0.0083,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.8326,
          "delta": 0.0826,
          "percent_delta": 0.1101,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.8326,
          "delta": 0.0826,
          "percent_delta": 0.1101,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.434,
          "after": 0.3693,
          "delta": -0.0647,
          "percent_delta": -0.1491,
          "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.1765,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.8883,
        "predicted_AVG": 0.2483,
        "predicted_BB": 0.373,
        "predicted_H": 0.9653,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0921,
        "predicted_OBP": 0.3141,
        "predicted_R": 0.4371,
        "predicted_RBI": 0.4883,
        "predicted_SLG": 0.3679,
        "predicted_SO": 0.8243
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1765,
          "after": 0.1765,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8883,
          "after": 3.8883,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2442,
          "after": 0.2483,
          "delta": 0.0041,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3693,
          "after": 0.373,
          "delta": 0.0037,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9519,
          "after": 0.9653,
          "delta": 0.0134,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0916,
          "after": 0.0921,
          "delta": 0.0005,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2911,
          "after": 0.3141,
          "delta": 0.023,
          "percent_delta": 0.079,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4254,
          "after": 0.4371,
          "delta": 0.0117,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4752,
          "after": 0.4883,
          "delta": 0.0131,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3517,
          "after": 0.3679,
          "delta": 0.0162,
          "percent_delta": 0.0461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8326,
          "after": 0.8243,
          "delta": -0.0083,
          "percent_delta": -0.01,
          "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.2911,
          "after": 0.3141,
          "delta": 0.023,
          "percent_delta": 0.079,
          "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.89), rates preserved: AVG=0.227 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1765,
          "after": 0.0,
          "delta": -0.1765,
          "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.8883,
          "after": 4.0,
          "delta": 0.1117,
          "percent_delta": 0.0287,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.9653,
          "after": 1.0,
          "delta": 0.0347,
          "percent_delta": 0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0921,
          "after": 0.0,
          "delta": -0.0921,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4883,
          "after": 0.0,
          "delta": -0.4883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8243,
          "after": 1.0,
          "delta": 0.1757,
          "percent_delta": 0.2132,
          "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.8243,
          "after": 1.0,
          "delta": 0.1757,
          "percent_delta": 0.2132,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4883,
          "after": 0.0,
          "delta": -0.4883,
          "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.4371,
          "after": 0.0,
          "delta": -0.4371,
          "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.4371,
          "after": 0.0,
          "delta": -0.4371,
          "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.1728,
        "predicted_3B": 0.0082,
        "predicted_BB": 0.3667,
        "predicted_H": 0.9,
        "predicted_HR": 0.1114,
        "predicted_RBI": 0.4635,
        "predicted_SO": 0.8961
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1728,
          "delta": 0.1728,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0082,
          "delta": 0.0082,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3667,
          "delta": 0.3667,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9,
          "delta": -0.1,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1114,
          "delta": 0.1114,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4635,
          "delta": 0.4635,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8961,
          "delta": -0.1039,
          "percent_delta": -0.1039,
          "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.4635,
          "delta": 0.4635,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8961,
          "delta": -0.1039,
          "percent_delta": -0.1039,
          "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.1728,
          "after": 0.0,
          "delta": -0.1728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0082,
          "after": 0.0,
          "delta": -0.0082,
          "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.3667,
          "after": 0.0,
          "delta": -0.3667,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 1.0,
          "delta": 0.1,
          "percent_delta": 0.1111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1114,
          "after": 0.0,
          "delta": -0.1114,
          "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.4635,
          "after": 0.0,
          "delta": -0.4635,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8961,
          "after": 1.0,
          "delta": 0.1039,
          "percent_delta": 0.1159,
          "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.8961,
          "after": 1.0,
          "delta": 0.1039,
          "percent_delta": 0.1159,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4635,
          "after": 0.0,
          "delta": -0.4635,
          "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2483,
          "after": 0.239,
          "delta": -0.0093,
          "percent_delta": -0.0375,
          "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.3141,
          "after": 0.312,
          "delta": -0.0021,
          "percent_delta": -0.0067,
          "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.3679,
          "after": 0.378,
          "delta": 0.0101,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3679,
          "after": 0.378,
          "delta": 0.0101,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2483,
          "after": 0.239,
          "delta": -0.0093,
          "percent_delta": -0.0375,
          "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": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 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.2483,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3141,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3679,
        "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.2483,
          "delta": 0.0093,
          "percent_delta": 0.0388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3141,
          "delta": 0.0021,
          "percent_delta": 0.0066,
          "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.378,
          "after": 0.3679,
          "delta": -0.0101,
          "percent_delta": -0.0268,
          "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.239,
          "after": 0.2483,
          "delta": 0.0093,
          "percent_delta": 0.0388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.378,
          "after": 0.3679,
          "delta": -0.0101,
          "percent_delta": -0.0268,
          "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.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.89,
        "after": 3.0,
        "delta": -0.89,
        "percent_delta": -0.2288,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2483,
        "delta": 0.0103,
        "percent_delta": 0.0433,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.434,
        "after": 1.0,
        "delta": 0.566,
        "percent_delta": 1.3041,
        "direction": "boost",
        "projection_effect": "better",
        "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.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.284,
        "after": 0.3141,
        "delta": 0.0301,
        "percent_delta": 0.106,
        "direction": "boost",
        "projection_effect": "better",
        "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.48,
        "after": 1.0,
        "delta": 0.52,
        "percent_delta": 1.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.36,
        "after": 0.3679,
        "delta": 0.0079,
        "percent_delta": 0.0219,
        "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": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.89,
        "after": 3.0,
        "delta": -0.89,
        "percent_delta": -0.2288,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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.007-
predicted_AB3.890-
predicted_AVG0.238-
predicted_BB0.434-
predicted_H0.930-
predicted_HR0.110-
predicted_OBP0.284-
predicted_R0.487-
predicted_RBI0.480-
predicted_SLG0.360-
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.176-0.035
predicted_3B0.006-0.001
predicted_AB3.888-0.002
predicted_AVG0.2440.006
predicted_BB0.369-0.065
predicted_H0.9520.022
predicted_HBP0.021-
predicted_HR0.092-0.018
predicted_OBP0.2910.007
predicted_R0.425-0.062
predicted_RBI0.475-0.005
predicted_SLG0.352-0.008
predicted_SO0.8330.083
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.0060.000
predicted_AB3.8880.000
predicted_AVG0.2480.004
predicted_BB0.3730.004
predicted_H0.9650.013
predicted_HBP0.0210.000
predicted_HR0.0920.001
predicted_OBP0.3140.023
predicted_R0.4370.012
predicted_RBI0.4880.013
predicted_SLG0.3680.016
predicted_SO0.824-0.008
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.89), rates preserved: AVG=0.227 HR/AB=0.024

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.0080.008
BB0.3670.367
H0.900-0.100
HR0.1110.111
RBI0.4640.464
SO0.896-0.104
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.008
AB4.0000.000
BB0.000-0.367
H1.0000.100
HR0.000-0.111
R0.0000.000
RBI0.000-0.464
SO1.0000.104
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.006
predicted_AB4.0000.112
predicted_AVG0.239-0.009
predicted_BB0.000-0.373
predicted_H1.0000.035
predicted_HR0.000-0.092
predicted_OBP0.312-0.002
predicted_R0.000-0.437
predicted_RBI0.000-0.488
predicted_SLG0.3780.010
predicted_SO1.0000.176
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
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: 152
Reference playing time: 3.890
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.0004.0000.0000.0000.0003.0000.0000.0006.0000.20000.20000.20000.20000.00000.15000.00000.3000
last_100.2010-41.0008.0000.0000.0000.0004.0002.0001.00013.0000.19510.20930.19510.19510.00000.09760.02440.3171
season0.60152-575.000166.00032.0001.00016.00068.00074.00066.000114.0000.28870.36350.43130.28870.02780.11830.11480.1983
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1320
predicted_3B0.0050
predicted_AB3.8860
predicted_AVG0.2521
predicted_BB0.2860
predicted_H0.9800
predicted_HBP0.0210
predicted_HR0.0680
predicted_OBP0.3002
predicted_R0.3460
predicted_RBI0.4690
predicted_SLG0.3409
predicted_SO0.9390
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.13200.1765model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.89003.88603.8883model_form_blend
predicted_AVG0.23800.25210.2442model_form_blend
predicted_BB0.43400.28600.3693model_form_blend
predicted_H0.93000.98000.9519model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.11000.06800.0916model_form_blend
predicted_OBP0.28400.30020.2911model_form_blend
predicted_R0.48700.34600.4254model_form_blend
predicted_RBI0.48000.46900.4752model_form_blend
predicted_SLG0.36000.34090.3517model_form_blend
predicted_SO0.75000.93900.8326model_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 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
H2
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_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_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_LAD@SF
game_typefull
mlbID518692
playerID518692
playerNameFreddie Freeman
pos1B
startedTrue
startingPosition1B
teamLAD
teamID14
game_date2026-09-27
sl_k_percent17.7
sl_bb_percent10.0
sl_woba0.348
sl_xwoba0.363
sl_xba0.29
sl_xslg0.463
sl_sweet_spot_percent38.7
sl_barrel_batted_rate8.1
sl_hard_hit_percent41.3
sl_exit_velocity_avg89.5
sl_launch_angle_avg12.2
sl_whiff_percent23.2
sl_swing_percent50.1
Max Muncy (571970) · BATTER · 3B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 535
All-history rows before 20261003: 535
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2598
Diff (system - data): -0.0098
System opponent_avg: 0.1180

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1770.0000.000Hitting_2B0.1761.000-0.176-1.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.3304.0003.000Hitting_AB3.5253.0000.4751.000
predicted_AVG0.2640.0000.000Hitting_AVG0.2600.667-0.260-0.667
predicted_BB0.4350.0000.000Hitting_BB0.4882.000-0.488-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8800.0000.000Hitting_H0.9162.000-0.916-2.000
predicted_HR0.1600.0000.000Hitting_HR0.2240.000-0.2240.000
predicted_OBP0.3260.0000.000Hitting_OBP0.3580.800-0.358-0.800
predicted_R0.5440.0000.000Hitting_R0.6091.000-0.609-1.000
predicted_RBI0.4600.0001.000Hitting_RBI0.5870.000-0.5870.000
predicted_SLG0.4590.0000.000Hitting_SLG0.5061.000-0.506-1.000
predicted_SO0.9522.0001.000Hitting_SO1.0190.0000.9812.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.9520 -> 2.0000 (boost 1.0480, 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_blend30303-predicted_H: 0.8800 -> 0.8282 (deboost -0.0518, 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_OBP: 0.3223 -> 0.3360 (boost 0.0137, 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_H: 0.8399 -> 1.0000 (boost 0.1601, better)predicted_RBI: 0.4512 -> 0.0000 (deboost -0.4512, worse)AB rounded to 3 (raw=3.33), rates preserved: AVG=0.230 HR/AB=0.045
6consistency_constraints11010predicted_R: 0.5161 -> 1.0000 (boost 0.4839, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5124 (boost 0.5124, better)predicted_H: 1.0000 -> 0.7470 (deboost -0.2530, 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_RBI: 0.5124 -> 1.0000 (boost 0.4876, 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_context62424predicted_H: 0.0000 -> 1.0000 (boost 1.0000, 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_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
11current_json_final33030predicted_OBP: 0.3010 -> 0.3360 (boost 0.0350, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "571970",
  "player_name": "Max Muncy",
  "position": "3B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.177,
        "predicted_3B": 0.007,
        "predicted_AB": 3.33,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.435,
        "predicted_H": 0.88,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.326,
        "predicted_R": 0.544,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.459,
        "predicted_SO": 0.952
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1974,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.3178,
        "predicted_AVG": 0.2494,
        "predicted_BB": 0.4098,
        "predicted_H": 0.8282,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.1504,
        "predicted_OBP": 0.3223,
        "predicted_R": 0.5022,
        "predicted_RBI": 0.4391,
        "predicted_SLG": 0.4446,
        "predicted_SO": 0.9085
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.177,
          "after": 0.1974,
          "delta": 0.0204,
          "percent_delta": 0.1153,
          "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.33,
          "after": 3.3178,
          "delta": -0.0122,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2494,
          "delta": -0.0146,
          "percent_delta": -0.0553,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.435,
          "after": 0.4098,
          "delta": -0.0252,
          "percent_delta": -0.0579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8282,
          "delta": -0.0518,
          "percent_delta": -0.0589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1504,
          "delta": -0.0096,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3223,
          "delta": -0.0037,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.544,
          "after": 0.5022,
          "delta": -0.0418,
          "percent_delta": -0.0768,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.4391,
          "delta": -0.0209,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.459,
          "after": 0.4446,
          "delta": -0.0144,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.952,
          "after": 0.9085,
          "delta": -0.0435,
          "percent_delta": -0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8282,
          "delta": -0.0518,
          "percent_delta": -0.0589,
          "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.1974,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.3178,
        "predicted_AVG": 0.2531,
        "predicted_BB": 0.4139,
        "predicted_H": 0.8399,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.1513,
        "predicted_OBP": 0.336,
        "predicted_R": 0.5161,
        "predicted_RBI": 0.4512,
        "predicted_SLG": 0.4531,
        "predicted_SO": 0.8994
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1974,
          "after": 0.1974,
          "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.3178,
          "after": 3.3178,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2494,
          "after": 0.2531,
          "delta": 0.0037,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4098,
          "after": 0.4139,
          "delta": 0.0041,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8282,
          "after": 0.8399,
          "delta": 0.0117,
          "percent_delta": 0.0141,
          "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.1504,
          "after": 0.1513,
          "delta": 0.0009,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3223,
          "after": 0.336,
          "delta": 0.0137,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5022,
          "after": 0.5161,
          "delta": 0.0139,
          "percent_delta": 0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4391,
          "after": 0.4512,
          "delta": 0.0121,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4446,
          "after": 0.4531,
          "delta": 0.0085,
          "percent_delta": 0.0191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9085,
          "after": 0.8994,
          "delta": -0.0091,
          "percent_delta": -0.01,
          "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.3223,
          "after": 0.336,
          "delta": 0.0137,
          "percent_delta": 0.0425,
          "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.33), rates preserved: AVG=0.230 HR/AB=0.045",
      "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.1974,
          "after": 0.0,
          "delta": -0.1974,
          "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.3178,
          "after": 3.0,
          "delta": -0.3178,
          "percent_delta": -0.0958,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4139,
          "after": 0.0,
          "delta": -0.4139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8399,
          "after": 1.0,
          "delta": 0.1601,
          "percent_delta": 0.1906,
          "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.1513,
          "after": 0.0,
          "delta": -0.1513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4512,
          "after": 0.0,
          "delta": -0.4512,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8994,
          "after": 1.0,
          "delta": 0.1006,
          "percent_delta": 0.1119,
          "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.8399,
          "after": 1.0,
          "delta": 0.1601,
          "percent_delta": 0.1906,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4512,
          "after": 0.0,
          "delta": -0.4512,
          "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": 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.5161,
          "after": 1.0,
          "delta": 0.4839,
          "percent_delta": 0.9376,
          "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.5161,
          "after": 1.0,
          "delta": 0.4839,
          "percent_delta": 0.9376,
          "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.1525,
        "predicted_3B": 0.0079,
        "predicted_BB": 0.369,
        "predicted_H": 0.747,
        "predicted_HR": 0.1744,
        "predicted_RBI": 0.5124,
        "predicted_SO": 1.1331
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1525,
          "delta": 0.1525,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0079,
          "delta": 0.0079,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.369,
          "delta": 0.369,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.747,
          "delta": -0.253,
          "percent_delta": -0.253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1744,
          "delta": 0.1744,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5124,
          "delta": 0.5124,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1331,
          "delta": 0.1331,
          "percent_delta": 0.1331,
          "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.5124,
          "delta": 0.5124,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.747,
          "delta": -0.253,
          "percent_delta": -0.253,
          "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.1525,
          "after": 0.0,
          "delta": -0.1525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0079,
          "after": 0.0,
          "delta": -0.0079,
          "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.369,
          "after": 0.0,
          "delta": -0.369,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.747,
          "after": 0.0,
          "delta": -0.747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1744,
          "after": 0.0,
          "delta": -0.1744,
          "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.5124,
          "after": 1.0,
          "delta": 0.4876,
          "percent_delta": 0.9516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1331,
          "after": 1.0,
          "delta": -0.1331,
          "percent_delta": -0.1175,
          "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_RBI",
          "before": 0.5124,
          "after": 1.0,
          "delta": 0.4876,
          "percent_delta": 0.9516,
          "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 1.0,
        "predicted_RBI": 0.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": 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.2531,
          "after": 0.219,
          "delta": -0.0341,
          "percent_delta": -0.1347,
          "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.336,
          "after": 0.301,
          "delta": -0.035,
          "percent_delta": -0.1042,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4531,
          "after": 0.422,
          "delta": -0.0311,
          "percent_delta": -0.0686,
          "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_H",
          "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": 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": 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": 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": 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.2531,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4531,
        "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.219,
          "after": 0.2531,
          "delta": 0.0341,
          "percent_delta": 0.1559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.301,
          "after": 0.336,
          "delta": 0.035,
          "percent_delta": 0.1162,
          "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.4531,
          "delta": 0.0311,
          "percent_delta": 0.0737,
          "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.301,
          "after": 0.336,
          "delta": 0.035,
          "percent_delta": 0.1162,
          "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.177,
        "after": 0.0,
        "delta": -0.177,
        "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.33,
        "after": 4.0,
        "delta": 0.67,
        "percent_delta": 0.2012,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.2531,
        "delta": -0.0109,
        "percent_delta": -0.0413,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.435,
        "after": 0.0,
        "delta": -0.435,
        "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.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.336,
        "delta": 0.01,
        "percent_delta": 0.0307,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.544,
        "after": 0.0,
        "delta": -0.544,
        "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.459,
        "after": 0.4531,
        "delta": -0.0059,
        "percent_delta": -0.0129,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.952,
        "after": 2.0,
        "delta": 1.048,
        "percent_delta": 1.1008,
        "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.952,
        "after": 2.0,
        "delta": 1.048,
        "percent_delta": 1.1008,
        "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.177-
predicted_3B0.007-
predicted_AB3.330-
predicted_AVG0.264-
predicted_BB0.435-
predicted_H0.880-
predicted_HR0.160-
predicted_OBP0.326-
predicted_R0.544-
predicted_RBI0.460-
predicted_SLG0.459-
predicted_SO0.952-
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.1970.020
predicted_3B0.006-0.001
predicted_AB3.318-0.012
predicted_AVG0.249-0.015
predicted_BB0.410-0.025
predicted_H0.828-0.052
predicted_HBP0.048-
predicted_HR0.150-0.010
predicted_OBP0.322-0.004
predicted_R0.502-0.042
predicted_RBI0.439-0.021
predicted_SLG0.445-0.014
predicted_SO0.908-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.1970.000
predicted_3B0.0060.000
predicted_AB3.3180.000
predicted_AVG0.2530.004
predicted_BB0.4140.004
predicted_H0.8400.012
predicted_HBP0.0480.000
predicted_HR0.1510.001
predicted_OBP0.3360.014
predicted_R0.5160.014
predicted_RBI0.4510.012
predicted_SLG0.4530.009
predicted_SO0.899-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 3 (raw=3.33), rates preserved: AVG=0.230 HR/AB=0.045

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.1520.152
3B0.0080.008
BB0.3690.369
H0.747-0.253
HR0.1740.174
RBI0.5120.512
SO1.1330.133
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.008
AB3.0000.000
BB0.000-0.369
H0.000-0.747
HR0.000-0.174
R0.000-1.000
RBI1.0000.488
SO1.000-0.133
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.197
predicted_3B0.000-0.006
predicted_AB3.000-0.318
predicted_AVG0.219-0.034
predicted_BB0.000-0.414
predicted_H1.0000.160
predicted_HR0.000-0.151
predicted_OBP0.301-0.035
predicted_R1.0000.484
predicted_RBI0.000-0.451
predicted_SLG0.422-0.031
predicted_SO1.0000.101
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.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: 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-16.0002.0001.0000.0000.0000.0001.0002.0004.0000.12500.22220.18750.12500.00000.00000.12500.2500
last_100.2010-33.0009.0004.0000.0001.0005.0004.0002.0006.0000.27270.33330.48480.27270.03030.15150.06060.1818
season0.60147-484.000121.00026.0001.00029.00076.00080.00064.000140.0000.25000.34530.48760.25000.05990.15700.13220.2893
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2240
predicted_3B0.0050
predicted_AB3.3020
predicted_AVG0.2305
predicted_BB0.3770
predicted_H0.7610
predicted_HBP0.0480
predicted_HR0.1380
predicted_OBP0.3176
predicted_R0.4480
predicted_RBI0.4120
predicted_SLG0.4260
predicted_SO0.8520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17700.22400.1974model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.33003.30203.3178model_form_blend
predicted_AVG0.26400.23050.2494model_form_blend
predicted_BB0.43500.37700.4098model_form_blend
predicted_H0.88000.76100.8282model_form_blend
predicted_HBP-0.04800.0480form_only
predicted_HR0.16000.13800.1504model_form_blend
predicted_OBP0.32600.31760.3223model_form_blend
predicted_R0.54400.44800.5022model_form_blend
predicted_RBI0.46000.41200.4391model_form_blend
predicted_SLG0.45900.42600.4446model_form_blend
predicted_SO0.95200.85200.9085model_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 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
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_AB3
Hitting_AVG0.667
Hitting_BB2
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
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
allPositionsPlayed3B
gameID20260927_LAD@SF
game_typefull
mlbID571970
playerID571970
playerNameMax Muncy
pos3B
startedTrue
startingPosition3B
teamLAD
teamID14
game_date2026-09-27
sl_k_percent25.0
sl_bb_percent11.6
sl_woba0.361
sl_xwoba0.349
sl_xba0.242
sl_xslg0.47
sl_sweet_spot_percent35.8
sl_barrel_batted_rate12.9
sl_hard_hit_percent45.8
sl_exit_velocity_avg89.9
sl_launch_angle_avg17.5
sl_whiff_percent29.2
sl_swing_percent44.9
Kyle Tucker (663656) · BATTER · RF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 598
All-history rows before 20261003: 598
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2390
Diff (system - data): -0.0050
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.1530.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0270.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB3.8904.0004.000Hitting_AB3.6945.0000.306-1.000
predicted_AVG0.2230.0000.250Hitting_AVG0.2390.200-0.239-0.200
predicted_BB0.4870.0001.000Hitting_BB0.5230.000-0.5230.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8700.0001.000Hitting_H0.8831.000-0.883-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1200.000-0.1200.000
predicted_OBP0.3090.0000.400Hitting_OBP0.3330.200-0.333-0.200
predicted_R0.5930.0001.000Hitting_R0.6321.000-0.632-1.000
predicted_RBI0.3700.0000.000Hitting_RBI0.5130.000-0.5130.000
predicted_SLG0.3670.0000.250Hitting_SLG0.3990.200-0.399-0.200
predicted_SO0.6931.0001.000Hitting_SO0.7220.0000.2781.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.6930 -> 1.0000 (boost 0.3070, worse)
Biggest Deboostpredicted_H: 0.8700 -> 0.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_blend32121predicted_AVG: 0.2230 -> 0.2334 (boost 0.0104, better)predicted_AB: 3.8900 -> 3.7927 (deboost -0.0973, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_SLG: 0.3746 -> 0.3882 (boost 0.0136, 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_scaling73425predicted_SO: 0.6497 -> 1.0000 (boost 0.3503, worse)predicted_BB: 0.4496 -> 0.0000 (deboost -0.4496, worse)AB rounded to 4 (raw=3.89), rates preserved: AVG=0.211 HR/AB=0.033
6consistency_constraints11010predicted_R: 0.6022 -> 1.0000 (boost 0.3978, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4653 (boost 0.4653, better)predicted_H: 1.0000 -> 0.7501 (deboost -0.2499, 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.3952 -> 1.0000 (boost 0.6048, better)predicted_RBI: 0.4653 -> 0.0000 (deboost -0.4653, 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_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3560 -> 0.3882 (boost 0.0322, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663656",
  "player_name": "Kyle Tucker",
  "position": "RF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.153,
        "predicted_3B": 0.027,
        "predicted_AB": 3.89,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.487,
        "predicted_H": 0.87,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.309,
        "predicted_R": 0.593,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.693
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.146,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.7927,
        "predicted_AVG": 0.2334,
        "predicted_BB": 0.4451,
        "predicted_H": 0.8853,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1273,
        "predicted_OBP": 0.3135,
        "predicted_R": 0.586,
        "predicted_RBI": 0.3717,
        "predicted_SLG": 0.3746,
        "predicted_SO": 0.6563
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.146,
          "delta": -0.007,
          "percent_delta": -0.0458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0222,
          "delta": -0.0048,
          "percent_delta": -0.1778,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.89,
          "after": 3.7927,
          "delta": -0.0973,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2334,
          "delta": 0.0104,
          "percent_delta": 0.0466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.487,
          "after": 0.4451,
          "delta": -0.0419,
          "percent_delta": -0.086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.8853,
          "delta": 0.0153,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1273,
          "delta": -0.0127,
          "percent_delta": -0.0907,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3135,
          "delta": 0.0045,
          "percent_delta": 0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.593,
          "after": 0.586,
          "delta": -0.007,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3717,
          "delta": 0.0017,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3746,
          "delta": 0.0076,
          "percent_delta": 0.0207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.693,
          "after": 0.6563,
          "delta": -0.0367,
          "percent_delta": -0.053,
          "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.2334,
          "delta": 0.0104,
          "percent_delta": 0.0466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.89,
          "after": 3.7927,
          "delta": -0.0973,
          "percent_delta": -0.025,
          "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.146,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.7927,
        "predicted_AVG": 0.2367,
        "predicted_BB": 0.4496,
        "predicted_H": 0.8978,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1281,
        "predicted_OBP": 0.3176,
        "predicted_R": 0.6022,
        "predicted_RBI": 0.382,
        "predicted_SLG": 0.3882,
        "predicted_SO": 0.6497
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.146,
          "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.7927,
          "after": 3.7927,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2334,
          "after": 0.2367,
          "delta": 0.0033,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4451,
          "after": 0.4496,
          "delta": 0.0045,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8853,
          "after": 0.8978,
          "delta": 0.0125,
          "percent_delta": 0.0141,
          "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.1273,
          "after": 0.1281,
          "delta": 0.0008,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3135,
          "after": 0.3176,
          "delta": 0.0041,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.586,
          "after": 0.6022,
          "delta": 0.0162,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3717,
          "after": 0.382,
          "delta": 0.0103,
          "percent_delta": 0.0277,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3746,
          "after": 0.3882,
          "delta": 0.0136,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6563,
          "after": 0.6497,
          "delta": -0.0066,
          "percent_delta": -0.0101,
          "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.3746,
          "after": 0.3882,
          "delta": 0.0136,
          "percent_delta": 0.0363,
          "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.89), rates preserved: AVG=0.211 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.146,
          "after": 0.0,
          "delta": -0.146,
          "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.7927,
          "after": 4.0,
          "delta": 0.2073,
          "percent_delta": 0.0547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4496,
          "after": 0.0,
          "delta": -0.4496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8978,
          "after": 1.0,
          "delta": 0.1022,
          "percent_delta": 0.1138,
          "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.1281,
          "after": 0.0,
          "delta": -0.1281,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.382,
          "after": 0.0,
          "delta": -0.382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6497,
          "after": 1.0,
          "delta": 0.3503,
          "percent_delta": 0.5392,
          "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.6497,
          "after": 1.0,
          "delta": 0.3503,
          "percent_delta": 0.5392,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4496,
          "after": 0.0,
          "delta": -0.4496,
          "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.6022,
          "after": 1.0,
          "delta": 0.3978,
          "percent_delta": 0.6606,
          "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.6022,
          "after": 1.0,
          "delta": 0.3978,
          "percent_delta": 0.6606,
          "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.1461,
        "predicted_3B": 0.0134,
        "predicted_BB": 0.3952,
        "predicted_H": 0.7501,
        "predicted_HR": 0.1139,
        "predicted_RBI": 0.4653,
        "predicted_SO": 0.8186
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1461,
          "delta": 0.1461,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0134,
          "delta": 0.0134,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3952,
          "delta": 0.3952,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7501,
          "delta": -0.2499,
          "percent_delta": -0.2499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1139,
          "delta": 0.1139,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4653,
          "delta": 0.4653,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8186,
          "delta": -0.1814,
          "percent_delta": -0.1814,
          "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.4653,
          "delta": 0.4653,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7501,
          "delta": -0.2499,
          "percent_delta": -0.2499,
          "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.1461,
          "after": 0.0,
          "delta": -0.1461,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3952,
          "after": 1.0,
          "delta": 0.6048,
          "percent_delta": 1.5304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7501,
          "after": 1.0,
          "delta": 0.2499,
          "percent_delta": 0.3332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1139,
          "after": 0.0,
          "delta": -0.1139,
          "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.4653,
          "after": 0.0,
          "delta": -0.4653,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8186,
          "after": 1.0,
          "delta": 0.1814,
          "percent_delta": 0.2216,
          "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.3952,
          "after": 1.0,
          "delta": 0.6048,
          "percent_delta": 1.5304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4653,
          "after": 0.0,
          "delta": -0.4653,
          "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.211,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.356,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2367,
          "after": 0.211,
          "delta": -0.0257,
          "percent_delta": -0.1086,
          "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.3176,
          "after": 0.296,
          "delta": -0.0216,
          "percent_delta": -0.068,
          "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.3882,
          "after": 0.356,
          "delta": -0.0322,
          "percent_delta": -0.0829,
          "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": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2367,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3176,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3882,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.2367,
          "delta": 0.0257,
          "percent_delta": 0.1219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.3176,
          "delta": 0.0216,
          "percent_delta": 0.073,
          "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.356,
          "after": 0.3882,
          "delta": 0.0322,
          "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": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3882,
          "delta": 0.0322,
          "percent_delta": 0.0905,
          "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": 3.89,
        "after": 4.0,
        "delta": 0.11,
        "percent_delta": 0.0283,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2367,
        "delta": 0.0137,
        "percent_delta": 0.0614,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.487,
        "after": 0.0,
        "delta": -0.487,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.309,
        "after": 0.3176,
        "delta": 0.0086,
        "percent_delta": 0.0278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.593,
        "after": 0.0,
        "delta": -0.593,
        "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.367,
        "after": 0.3882,
        "delta": 0.0212,
        "percent_delta": 0.0578,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.693,
        "after": 1.0,
        "delta": 0.307,
        "percent_delta": 0.443,
        "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.693,
        "after": 1.0,
        "delta": 0.307,
        "percent_delta": 0.443,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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_AB3.890-
predicted_AVG0.223-
predicted_BB0.487-
predicted_H0.870-
predicted_HR0.140-
predicted_OBP0.309-
predicted_R0.593-
predicted_RBI0.370-
predicted_SLG0.367-
predicted_SO0.693-
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.146-0.007
predicted_3B0.022-0.005
predicted_AB3.793-0.097
predicted_AVG0.2330.010
predicted_BB0.445-0.042
predicted_H0.8850.015
predicted_HBP0.013-
predicted_HR0.127-0.013
predicted_OBP0.3140.005
predicted_R0.586-0.007
predicted_RBI0.3720.002
predicted_SLG0.3750.008
predicted_SO0.656-0.037
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.1460.000
predicted_3B0.0220.000
predicted_AB3.7930.000
predicted_AVG0.2370.003
predicted_BB0.4500.005
predicted_H0.8980.013
predicted_HBP0.0130.000
predicted_HR0.1280.001
predicted_OBP0.3180.004
predicted_R0.6020.016
predicted_RBI0.3820.010
predicted_SLG0.3880.014
predicted_SO0.650-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=3.89), rates preserved: AVG=0.211 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. 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.1460.146
3B0.0130.013
BB0.3950.395
H0.750-0.250
HR0.1140.114
RBI0.4650.465
SO0.819-0.181
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.013
AB4.0000.000
BB1.0000.605
H1.0000.250
HR0.000-0.114
R1.0000.000
RBI0.000-0.465
SO1.0000.181
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.146
predicted_3B0.000-0.022
predicted_AB4.0000.207
predicted_AVG0.211-0.026
predicted_BB0.000-0.450
predicted_H1.0000.102
predicted_HR0.000-0.128
predicted_OBP0.296-0.022
predicted_R1.0000.398
predicted_RBI0.000-0.382
predicted_SLG0.356-0.032
predicted_SO1.0000.350
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
SO1.0000.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: 3.890
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.0004.0000.0000.0000.0000.0002.0001.0003.0000.20000.23810.20000.20000.00000.00000.05000.1500
last_100.2010-36.00012.0002.0000.0002.0004.0007.0003.0003.0000.33330.38460.55560.33330.05560.11110.08330.0833
season0.60150-535.000125.00023.0004.00017.00070.00089.00073.000104.0000.23360.32580.38690.23360.03180.13080.13640.1944
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1370
predicted_3B0.0160
predicted_AB3.6670
predicted_AVG0.2469
predicted_BB0.3910
predicted_H0.9050
predicted_HBP0.0130
predicted_HR0.1110
predicted_OBP0.3193
predicted_R0.5770
predicted_RBI0.3740
predicted_SLG0.3844
predicted_SO0.6090
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15300.13700.1460model_form_blend
predicted_3B0.02700.01600.0222model_form_blend
predicted_AB3.89003.66703.7927model_form_blend
predicted_AVG0.22300.24690.2334model_form_blend
predicted_BB0.48700.39100.4451model_form_blend
predicted_H0.87000.90500.8853model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.14000.11100.1273model_form_blend
predicted_OBP0.30900.31930.3135model_form_blend
predicted_R0.59300.57700.5860model_form_blend
predicted_RBI0.37000.37400.3717model_form_blend
predicted_SLG0.36700.38440.3746model_form_blend
predicted_SO0.69300.60900.6563model_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 date598
Season rows before report date598
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
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_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayedRF
gameID20260927_LAD@SF
game_typefull
mlbID663656
playerID663656
playerNameKyle Tucker
posRF
startedTrue
startingPositionRF
teamLAD
teamID14
game_date2026-09-27
sl_k_percent16.7
sl_bb_percent12.4
sl_woba0.318
sl_xwoba0.331
sl_xba0.256
sl_xslg0.393
sl_sweet_spot_percent34.2
sl_barrel_batted_rate6.4
sl_hard_hit_percent36.3
sl_exit_velocity_avg88.5
sl_launch_angle_avg18.1
sl_whiff_percent20.8
sl_swing_percent48.5
Tommy Edman (669242) · BATTER · 2B · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 307
All-history rows before 20261003: 307
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2537
Diff (system - data): -0.0097
System opponent_avg: 0.2710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1500.0000.000Hitting_2B0.1601.000-0.160-1.000
predicted_3B0.0250.0000.000Hitting_3B0.0290.000-0.0290.000
predicted_AB3.8002.0003.000Hitting_AB3.7233.000-1.723-1.000
predicted_AVG0.2470.0000.000Hitting_AVG0.2540.667-0.254-0.667
predicted_BB0.2621.0000.000Hitting_BB0.2871.0000.7130.000
predicted_CS-0.0000.000BaseRunning_CS0.0360.000-0.0360.000
predicted_H0.9400.0000.000Hitting_H0.9452.000-0.945-2.000
predicted_HR0.1400.0000.000Hitting_HR0.1010.000-0.1010.000
predicted_OBP0.3150.3330.000Hitting_OBP0.3380.750-0.005-0.417
predicted_R0.5120.0000.000Hitting_R0.5700.000-0.5700.000
predicted_RBI0.5900.0000.000Hitting_RBI0.5240.000-0.5240.000
predicted_SB-0.0000.000BaseRunning_SB0.0911.000-0.091-1.000
predicted_SLG0.4030.0000.000Hitting_SLG0.3941.000-0.394-1.000
predicted_SO0.8252.0001.000Hitting_SO0.8570.0001.1432.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.8250 -> 2.0000 (boost 1.1750, worse)
Biggest Deboostpredicted_AB: 3.8000 -> 2.0000 (deboost -1.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.4030 -> 0.4081 (boost 0.0051, better)predicted_AB: 3.8000 -> 3.6959 (deboost -0.1041, 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.4081 -> 0.4166 (boost 0.0085, better)predicted_OBP: 0.3161 -> 0.3028 (deboost -0.0133, 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.6159 -> 1.0000 (boost 0.3841, better)predicted_AB: 3.6959 -> 3.0000 (deboost -0.6959, worse)AB rounded to 3 (raw=3.80), rates preserved: AVG=0.222 HR/AB=0.037
6consistency_constraints11010predicted_R: 0.5244 -> 1.0000 (boost 0.4756, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2766 (boost 0.2766, better)predicted_RBI: 1.0000 -> 0.4410 (deboost -0.5590, 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_allocation71607predicted_SO: 0.8809 -> 1.0000 (boost 0.1191, worse)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_context63333predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4166 -> 0.3650 (deboost -0.0516, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference62415predicted_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_final33030predicted_SLG: 0.3650 -> 0.4166 (boost 0.0516, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669242",
  "player_name": "Tommy Edman",
  "position": "2B",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.15,
        "predicted_3B": 0.025,
        "predicted_AB": 3.8,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.262,
        "predicted_H": 0.94,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.315,
        "predicted_R": 0.512,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.825
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1513,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.6959,
        "predicted_AVG": 0.2463,
        "predicted_BB": 0.2765,
        "predicted_H": 0.9115,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.3161,
        "predicted_R": 0.5103,
        "predicted_RBI": 0.5994,
        "predicted_SLG": 0.4081,
        "predicted_SO": 0.822
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.15,
          "after": 0.1513,
          "delta": 0.0013,
          "percent_delta": 0.0087,
          "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.8,
          "after": 3.6959,
          "delta": -0.1041,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2463,
          "delta": -0.0007,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.262,
          "after": 0.2765,
          "delta": 0.0145,
          "percent_delta": 0.0553,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 0.9115,
          "delta": -0.0285,
          "percent_delta": -0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.14,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3161,
          "delta": 0.0011,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.512,
          "after": 0.5103,
          "delta": -0.0017,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5994,
          "delta": 0.0094,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.4081,
          "delta": 0.0051,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.825,
          "after": 0.822,
          "delta": -0.003,
          "percent_delta": -0.0036,
          "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.403,
          "after": 0.4081,
          "delta": 0.0051,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8,
          "after": 3.6959,
          "delta": -0.1041,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 80
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1513,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.6959,
        "predicted_AVG": 0.2501,
        "predicted_BB": 0.2793,
        "predicted_H": 0.9244,
        "predicted_HBP": 0.11,
        "predicted_HR": 0.1408,
        "predicted_OBP": 0.3028,
        "predicted_R": 0.5244,
        "predicted_RBI": 0.6159,
        "predicted_SLG": 0.4166,
        "predicted_SO": 0.8138
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1513,
          "after": 0.1513,
          "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.6959,
          "after": 3.6959,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2463,
          "after": 0.2501,
          "delta": 0.0038,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2765,
          "after": 0.2793,
          "delta": 0.0028,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9115,
          "after": 0.9244,
          "delta": 0.0129,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.11,
          "after": 0.11,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1408,
          "delta": 0.0008,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3161,
          "after": 0.3028,
          "delta": -0.0133,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5103,
          "after": 0.5244,
          "delta": 0.0141,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5994,
          "after": 0.6159,
          "delta": 0.0165,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4081,
          "after": 0.4166,
          "delta": 0.0085,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.822,
          "after": 0.8138,
          "delta": -0.0082,
          "percent_delta": -0.01,
          "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.4081,
          "after": 0.4166,
          "delta": 0.0085,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3161,
          "after": 0.3028,
          "delta": -0.0133,
          "percent_delta": -0.0421,
          "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.80), rates preserved: AVG=0.222 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1513,
          "after": 0.0,
          "delta": -0.1513,
          "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.6959,
          "after": 3.0,
          "delta": -0.6959,
          "percent_delta": -0.1883,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2793,
          "after": 0.0,
          "delta": -0.2793,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9244,
          "after": 1.0,
          "delta": 0.0756,
          "percent_delta": 0.0818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.11,
          "after": 0.0,
          "delta": -0.11,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1408,
          "after": 0.0,
          "delta": -0.1408,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6159,
          "after": 1.0,
          "delta": 0.3841,
          "percent_delta": 0.6236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8138,
          "after": 1.0,
          "delta": 0.1862,
          "percent_delta": 0.2288,
          "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.6159,
          "after": 1.0,
          "delta": 0.3841,
          "percent_delta": 0.6236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6959,
          "after": 3.0,
          "delta": -0.6959,
          "percent_delta": -0.1883,
          "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": 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.5244,
          "after": 1.0,
          "delta": 0.4756,
          "percent_delta": 0.9069,
          "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.5244,
          "after": 1.0,
          "delta": 0.4756,
          "percent_delta": 0.9069,
          "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.1584,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.2766,
        "predicted_H": 0.7349,
        "predicted_HR": 0.1077,
        "predicted_RBI": 0.441,
        "predicted_SO": 0.8809
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1584,
          "delta": 0.1584,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0102,
          "delta": 0.0102,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2766,
          "delta": 0.2766,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7349,
          "delta": -0.2651,
          "percent_delta": -0.2651,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1077,
          "delta": 0.1077,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.441,
          "delta": -0.559,
          "percent_delta": -0.559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8809,
          "delta": -0.1191,
          "percent_delta": -0.1191,
          "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.2766,
          "delta": 0.2766,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.441,
          "delta": -0.559,
          "percent_delta": -0.559,
          "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.1584,
          "after": 0.0,
          "delta": -0.1584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0102,
          "after": 0.0,
          "delta": -0.0102,
          "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.2766,
          "after": 0.0,
          "delta": -0.2766,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7349,
          "after": 0.0,
          "delta": -0.7349,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1077,
          "after": 0.0,
          "delta": -0.1077,
          "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.441,
          "after": 0.0,
          "delta": -0.441,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8809,
          "after": 1.0,
          "delta": 0.1191,
          "percent_delta": 0.1352,
          "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.8809,
          "after": 1.0,
          "delta": 0.1191,
          "percent_delta": 0.1352,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.282,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.365,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2501,
          "after": 0.217,
          "delta": -0.0331,
          "percent_delta": -0.1323,
          "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.3028,
          "after": 0.282,
          "delta": -0.0208,
          "percent_delta": -0.0687,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4166,
          "after": 0.365,
          "delta": -0.0516,
          "percent_delta": -0.1239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "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_SLG",
          "before": 0.4166,
          "after": 0.365,
          "delta": -0.0516,
          "percent_delta": -0.1239,
          "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": 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": 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": 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": 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_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.2501,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3028,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4166,
        "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": 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.217,
          "after": 0.2501,
          "delta": 0.0331,
          "percent_delta": 0.1525,
          "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.282,
          "after": 0.3028,
          "delta": 0.0208,
          "percent_delta": 0.0737,
          "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.365,
          "after": 0.4166,
          "delta": 0.0516,
          "percent_delta": 0.1412,
          "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.365,
          "after": 0.4166,
          "delta": 0.0516,
          "percent_delta": 0.1412,
          "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.15,
        "after": 0.0,
        "delta": -0.15,
        "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.8,
        "after": 2.0,
        "delta": -1.8,
        "percent_delta": -0.4737,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.2501,
        "delta": 0.0031,
        "percent_delta": 0.0126,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.262,
        "after": 1.0,
        "delta": 0.738,
        "percent_delta": 2.8168,
        "direction": "boost",
        "projection_effect": "better",
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.3028,
        "delta": -0.0122,
        "percent_delta": -0.0387,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.512,
        "after": 0.0,
        "delta": -0.512,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.403,
        "after": 0.4166,
        "delta": 0.0136,
        "percent_delta": 0.0337,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.825,
        "after": 2.0,
        "delta": 1.175,
        "percent_delta": 1.4242,
        "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.825,
        "after": 2.0,
        "delta": 1.175,
        "percent_delta": 1.4242,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.8,
        "after": 2.0,
        "delta": -1.8,
        "percent_delta": -0.4737,
        "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.150-
predicted_3B0.025-
predicted_AB3.800-
predicted_AVG0.247-
predicted_BB0.262-
predicted_H0.940-
predicted_HR0.140-
predicted_OBP0.315-
predicted_R0.512-
predicted_RBI0.590-
predicted_SLG0.403-
predicted_SO0.825-
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.1510.001
predicted_3B0.021-0.004
predicted_AB3.696-0.104
predicted_AVG0.246-0.001
predicted_BB0.2770.015
predicted_H0.911-0.028
predicted_HBP0.110-
predicted_HR0.1400.000
predicted_OBP0.3160.001
predicted_R0.510-0.002
predicted_RBI0.5990.009
predicted_SLG0.4080.005
predicted_SO0.822-0.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.1510.000
predicted_3B0.0210.000
predicted_AB3.6960.000
predicted_AVG0.2500.004
predicted_BB0.2790.003
predicted_H0.9240.013
predicted_HBP0.1100.000
predicted_HR0.1410.001
predicted_OBP0.303-0.013
predicted_R0.5240.014
predicted_RBI0.6160.016
predicted_SLG0.4170.009
predicted_SO0.814-0.008
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.80), rates preserved: AVG=0.222 HR/AB=0.037

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
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.1580.158
3B0.0100.010
BB0.2770.277
H0.735-0.265
HR0.1080.108
RBI0.441-0.559
SO0.881-0.119
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.158
3B0.000-0.010
AB3.0000.000
BB0.000-0.277
H0.000-0.735
HR0.000-0.108
R0.000-1.000
RBI0.000-0.441
SO1.0000.119
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.151
predicted_3B0.000-0.021
predicted_AB3.000-0.696
predicted_AVG0.217-0.033
predicted_BB0.000-0.279
predicted_H1.0000.076
predicted_HR0.000-0.141
predicted_OBP0.282-0.021
predicted_R1.0000.476
predicted_RBI1.0000.384
predicted_SLG0.365-0.052
predicted_SO1.0000.186
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
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 80
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.0005.0001.0000.0001.0004.0003.0002.0004.0000.29410.35000.52940.29410.05880.23530.11770.2353
last_100.2010-35.0007.0001.0000.0002.0008.0004.0003.0008.0000.20000.27500.40000.20000.05710.22860.08570.2286
season0.6080-287.00070.00012.0002.0008.00040.00041.00021.00066.0000.24390.32300.38330.24390.02790.13940.07320.2300
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1530
predicted_3B0.0150
predicted_AB3.5550
predicted_AVG0.2454
predicted_BB0.2960
predicted_H0.8730
predicted_HBP0.1100
predicted_HR0.1400
predicted_OBP0.3177
predicted_R0.5080
predicted_RBI0.6120
predicted_SLG0.4151
predicted_SO0.8180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15000.15300.1513model_form_blend
predicted_3B0.02500.01500.0207model_form_blend
predicted_AB3.80003.55503.6959model_form_blend
predicted_AVG0.24700.24540.2463model_form_blend
predicted_BB0.26200.29600.2765model_form_blend
predicted_H0.94000.87300.9115model_form_blend
predicted_HBP-0.11000.1100form_only
predicted_HR0.14000.14000.1400model_form_blend
predicted_OBP0.31500.31770.3161model_form_blend
predicted_R0.51200.50800.5103model_form_blend
predicted_RBI0.59000.61200.5994model_form_blend
predicted_SLG0.40300.41510.4081model_form_blend
predicted_SO0.82500.81800.8220model_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 date307
Season rows before report date307
Report year2026
Profile rows used80
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
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_2B1
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_SO0
Hitting_TB3
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
allPositionsPlayed2B
gameID20260927_LAD@SF
game_typefull
mlbID669242
playerID669242
playerNameTommy Edman
pos2B
startedTrue
startingPosition2B
teamLAD
teamID14
game_date2026-09-27
sl_k_percent20.2
sl_bb_percent6.6
sl_woba0.32
sl_xwoba0.303
sl_xba0.24
sl_xslg0.347
sl_sweet_spot_percent29.4
sl_barrel_batted_rate5.3
sl_hard_hit_percent32.0
sl_exit_velocity_avg87.3
sl_launch_angle_avg13.1
sl_whiff_percent23.0
sl_swing_percent46.4
Andy Pages (681624) · BATTER · CF · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 557
All-history rows before 20261003: 557
System season_avg: 0.2740
Data season_avg (2026 season-to-date): 0.2757
Diff (system - data): -0.0017
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.1890.0000.000Hitting_2B0.1990.000-0.1990.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB4.6304.0003.000Hitting_AB3.9593.0000.0411.000
predicted_AVG0.2610.5000.333Hitting_AVG0.2760.3330.2240.167
predicted_BB0.3710.0000.000Hitting_BB0.3811.000-0.381-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H1.2102.0001.000Hitting_H1.0921.0000.9081.000
predicted_HR0.2501.0000.000Hitting_HR0.1741.0000.8260.000
predicted_OBP0.3800.5000.333Hitting_OBP0.3430.4000.1570.100
predicted_R0.5681.0001.000Hitting_R0.6271.0000.3730.000
predicted_RBI1.0102.0001.000Hitting_RBI0.6554.0001.345-2.000
predicted_SLG0.4971.2500.333Hitting_SLG0.4671.3330.783-0.083
predicted_SO0.8410.0001.000Hitting_SO0.8381.000-0.838-1.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: 1.0100 -> 2.0000 (boost 0.9900, better)
Biggest Deboostpredicted_SO: 0.8410 -> 0.0000 (deboost -0.8410, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_SLG: 0.4970 -> 0.5203 (boost 0.0233, better)predicted_AB: 4.6300 -> 4.1877 (deboost -0.4423, 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.3798 -> 0.3447 (deboost -0.0351, 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.8645 -> 1.0000 (boost 0.1355, worse)predicted_AB: 4.1877 -> 3.0000 (deboost -1.1877, worse)AB rounded to 3 (raw=4.63), rates preserved: AVG=0.232 HR/AB=0.052
6consistency_constraints11010predicted_R: 0.5707 -> 1.0000 (boost 0.4293, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3386 (boost 0.3386, better)predicted_RBI: 1.0000 -> 0.5139 (deboost -0.4861, 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.5139 -> 1.0000 (boost 0.4861, better)predicted_BB: 0.3386 -> 0.0000 (deboost -0.3386, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_SLG: 0.5056 -> 0.4140 (deboost -0.0916, worse)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_final33030predicted_SLG: 0.4140 -> 0.5056 (boost 0.0916, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681624",
  "player_name": "Andy Pages",
  "position": "CF",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.189,
        "predicted_3B": 0.015,
        "predicted_AB": 4.63,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.371,
        "predicted_H": 1.21,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.38,
        "predicted_R": 0.568,
        "predicted_RBI": 1.01,
        "predicted_SLG": 0.497,
        "predicted_SO": 0.841
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1916,
        "predicted_3B": 0.0124,
        "predicted_AB": 4.1877,
        "predicted_AVG": 0.2794,
        "predicted_BB": 0.4028,
        "predicted_H": 1.1604,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.3798,
        "predicted_R": 0.5554,
        "predicted_RBI": 0.8855,
        "predicted_SLG": 0.5203,
        "predicted_SO": 0.8732
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.1916,
          "delta": 0.0026,
          "percent_delta": 0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0124,
          "delta": -0.0026,
          "percent_delta": -0.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.63,
          "after": 4.1877,
          "delta": -0.4423,
          "percent_delta": -0.0955,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.2794,
          "delta": 0.0184,
          "percent_delta": 0.0705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.371,
          "after": 0.4028,
          "delta": 0.0318,
          "percent_delta": 0.0857,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.21,
          "after": 1.1604,
          "delta": -0.0496,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.25,
          "after": 0.24,
          "delta": -0.01,
          "percent_delta": -0.04,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3798,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.568,
          "after": 0.5554,
          "delta": -0.0126,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.01,
          "after": 0.8855,
          "delta": -0.1245,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.497,
          "after": 0.5203,
          "delta": 0.0233,
          "percent_delta": 0.0469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.841,
          "after": 0.8732,
          "delta": 0.0322,
          "percent_delta": 0.0383,
          "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.497,
          "after": 0.5203,
          "delta": 0.0233,
          "percent_delta": 0.0469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.63,
          "after": 4.1877,
          "delta": -0.4423,
          "percent_delta": -0.0955,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1916,
        "predicted_3B": 0.0124,
        "predicted_AB": 4.1877,
        "predicted_AVG": 0.281,
        "predicted_BB": 0.4068,
        "predicted_H": 1.1768,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.2414,
        "predicted_OBP": 0.3447,
        "predicted_R": 0.5707,
        "predicted_RBI": 0.9099,
        "predicted_SLG": 0.5056,
        "predicted_SO": 0.8645
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1916,
          "after": 0.1916,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0124,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1877,
          "after": 4.1877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2794,
          "after": 0.281,
          "delta": 0.0016,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4028,
          "after": 0.4068,
          "delta": 0.004,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1604,
          "after": 1.1768,
          "delta": 0.0164,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.072,
          "after": 0.072,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2414,
          "delta": 0.0014,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3798,
          "after": 0.3447,
          "delta": -0.0351,
          "percent_delta": -0.0924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5554,
          "after": 0.5707,
          "delta": 0.0153,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8855,
          "after": 0.9099,
          "delta": 0.0244,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5203,
          "after": 0.5056,
          "delta": -0.0147,
          "percent_delta": -0.0283,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8732,
          "after": 0.8645,
          "delta": -0.0087,
          "percent_delta": -0.01,
          "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.3798,
          "after": 0.3447,
          "delta": -0.0351,
          "percent_delta": -0.0924,
          "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=4.63), rates preserved: AVG=0.232 HR/AB=0.052",
      "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.1916,
          "after": 0.0,
          "delta": -0.1916,
          "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.1877,
          "after": 3.0,
          "delta": -1.1877,
          "percent_delta": -0.2836,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4068,
          "after": 0.0,
          "delta": -0.4068,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1768,
          "after": 1.0,
          "delta": -0.1768,
          "percent_delta": -0.1502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.072,
          "after": 0.0,
          "delta": -0.072,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2414,
          "after": 0.0,
          "delta": -0.2414,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9099,
          "after": 1.0,
          "delta": 0.0901,
          "percent_delta": 0.099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8645,
          "after": 1.0,
          "delta": 0.1355,
          "percent_delta": 0.1567,
          "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.8645,
          "after": 1.0,
          "delta": 0.1355,
          "percent_delta": 0.1567,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.1877,
          "after": 3.0,
          "delta": -1.1877,
          "percent_delta": -0.2836,
          "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": 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.5707,
          "after": 1.0,
          "delta": 0.4293,
          "percent_delta": 0.7522,
          "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.5707,
          "after": 1.0,
          "delta": 0.4293,
          "percent_delta": 0.7522,
          "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.168,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.3386,
        "predicted_H": 0.7887,
        "predicted_HR": 0.1487,
        "predicted_RBI": 0.5139,
        "predicted_SO": 0.8478
      },
      "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.0086,
          "delta": 0.0086,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3386,
          "delta": 0.3386,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7887,
          "delta": -0.2113,
          "percent_delta": -0.2113,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1487,
          "delta": 0.1487,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5139,
          "delta": -0.4861,
          "percent_delta": -0.4861,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8478,
          "delta": -0.1522,
          "percent_delta": -0.1522,
          "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.3386,
          "delta": 0.3386,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5139,
          "delta": -0.4861,
          "percent_delta": -0.4861,
          "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": 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.0086,
          "after": 0.0,
          "delta": -0.0086,
          "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.3386,
          "after": 0.0,
          "delta": -0.3386,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7887,
          "after": 1.0,
          "delta": 0.2113,
          "percent_delta": 0.2679,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1487,
          "after": 0.0,
          "delta": -0.1487,
          "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.5139,
          "after": 1.0,
          "delta": 0.4861,
          "percent_delta": 0.9459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8478,
          "after": 1.0,
          "delta": 0.1522,
          "percent_delta": 0.1795,
          "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.5139,
          "after": 1.0,
          "delta": 0.4861,
          "percent_delta": 0.9459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3386,
          "after": 0.0,
          "delta": -0.3386,
          "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.305,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": 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.281,
          "after": 0.23,
          "delta": -0.051,
          "percent_delta": -0.1815,
          "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.3447,
          "after": 0.305,
          "delta": -0.0397,
          "percent_delta": -0.1152,
          "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.5056,
          "after": 0.414,
          "delta": -0.0916,
          "percent_delta": -0.1812,
          "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.5056,
          "after": 0.414,
          "delta": -0.0916,
          "percent_delta": -0.1812,
          "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": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 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": 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.281,
        "predicted_BB": 0.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3447,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5056,
        "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.23,
          "after": 0.281,
          "delta": 0.051,
          "percent_delta": 0.2218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.305,
          "after": 0.3447,
          "delta": 0.0397,
          "percent_delta": 0.1301,
          "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.414,
          "after": 0.5056,
          "delta": 0.0916,
          "percent_delta": 0.2213,
          "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.414,
          "after": 0.5056,
          "delta": 0.0916,
          "percent_delta": 0.2213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.189,
        "after": 0.0,
        "delta": -0.189,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.63,
        "after": 4.0,
        "delta": -0.63,
        "percent_delta": -0.1361,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.261,
        "after": 0.281,
        "delta": 0.02,
        "percent_delta": 0.0766,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.371,
        "after": 0.0,
        "delta": -0.371,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 2.0,
        "delta": 0.79,
        "percent_delta": 0.6529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.25,
        "after": 1.0,
        "delta": 0.75,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.38,
        "after": 0.3447,
        "delta": -0.0353,
        "percent_delta": -0.0929,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.568,
        "after": 1.0,
        "delta": 0.432,
        "percent_delta": 0.7606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 1.01,
        "after": 2.0,
        "delta": 0.99,
        "percent_delta": 0.9802,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.497,
        "after": 0.5056,
        "delta": 0.0086,
        "percent_delta": 0.0173,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.841,
        "after": 0.0,
        "delta": -0.841,
        "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": 1.01,
        "after": 2.0,
        "delta": 0.99,
        "percent_delta": 0.9802,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.841,
        "after": 0.0,
        "delta": -0.841,
        "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.189-
predicted_3B0.015-
predicted_AB4.630-
predicted_AVG0.261-
predicted_BB0.371-
predicted_H1.210-
predicted_HR0.250-
predicted_OBP0.380-
predicted_R0.568-
predicted_RBI1.010-
predicted_SLG0.497-
predicted_SO0.841-
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.1920.003
predicted_3B0.012-0.003
predicted_AB4.188-0.442
predicted_AVG0.2790.018
predicted_BB0.4030.032
predicted_H1.160-0.050
predicted_HBP0.072-
predicted_HR0.240-0.010
predicted_OBP0.380-0.000
predicted_R0.555-0.013
predicted_RBI0.885-0.125
predicted_SLG0.5200.023
predicted_SO0.8730.032
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.1920.000
predicted_3B0.0120.000
predicted_AB4.1880.000
predicted_AVG0.2810.002
predicted_BB0.4070.004
predicted_H1.1770.016
predicted_HBP0.0720.000
predicted_HR0.2410.001
predicted_OBP0.345-0.035
predicted_R0.5710.015
predicted_RBI0.9100.024
predicted_SLG0.506-0.015
predicted_SO0.865-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 3 (raw=4.63), rates preserved: AVG=0.232 HR/AB=0.052

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
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.1680.168
3B0.0090.009
BB0.3390.339
H0.789-0.211
HR0.1490.149
RBI0.514-0.486
SO0.848-0.152
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.009
AB3.0000.000
BB0.000-0.339
H1.0000.211
HR0.000-0.149
R1.0000.000
RBI1.0000.486
SO1.0000.152
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.192
predicted_3B0.000-0.012
predicted_AB3.000-1.188
predicted_AVG0.230-0.051
predicted_BB0.000-0.407
predicted_H1.000-0.177
predicted_HR0.000-0.241
predicted_OBP0.305-0.040
predicted_R1.0000.429
predicted_RBI1.0000.090
predicted_SLG0.414-0.092
predicted_SO1.0000.135
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
H2.0001.000
HBP0.0000.000
HR1.0001.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: 132
Reference playing time: 4.630
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.0001.0000.0002.0005.0002.0003.0006.0000.37500.45000.81250.37500.12500.31250.18750.3750
last_100.2010-33.00011.0002.0000.0002.0007.0006.0005.0008.0000.33330.43900.57580.33330.06060.21210.15150.2424
season0.60132-507.000139.00025.0002.00023.00084.00075.00049.000111.0000.27420.34270.46750.27420.04540.16570.09660.2189
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0090
predicted_AB3.6140
predicted_AVG0.3033
predicted_BB0.4440
predicted_H1.0960
predicted_HBP0.0720
predicted_HR0.2270
predicted_OBP0.3795
predicted_R0.5390
predicted_RBI0.7240
predicted_SLG0.5506
predicted_SO0.9150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.19500.1916model_form_blend
predicted_3B0.01500.00900.0124model_form_blend
predicted_AB4.63003.61404.1877model_form_blend
predicted_AVG0.26100.30330.2794model_form_blend
predicted_BB0.37100.44400.4028model_form_blend
predicted_H1.21001.09601.1604model_form_blend
predicted_HBP-0.07200.0720form_only
predicted_HR0.25000.22700.2400model_form_blend
predicted_OBP0.38000.37950.3798model_form_blend
predicted_R0.56800.53900.5554model_form_blend
predicted_RBI1.01000.72400.8855model_form_blend
predicted_SLG0.49700.55060.5203model_form_blend
predicted_SO0.84100.91500.8732model_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 date557
Season rows before report date557
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
H2
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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI4
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedCF
gameID20260927_LAD@SF
game_typefull
mlbID681624
playerID681624
playerNameAndy Pages
posCF
startedTrue
startingPositionCF
teamLAD
teamID14
game_date2026-09-27
sl_k_percent19.7
sl_bb_percent8.5
sl_woba0.352
sl_xwoba0.343
sl_xba0.274
sl_xslg0.442
sl_sweet_spot_percent37.4
sl_barrel_batted_rate7.9
sl_hard_hit_percent42.3
sl_exit_velocity_avg88.9
sl_launch_angle_avg15.7
sl_whiff_percent22.1
sl_swing_percent47.2
Tarik Skubal (669373) · PITCHER · Starter · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 10
All-history rows before 20261003: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.3000.000-0.3001.000
predicted_ER1.0001.0001.000Pitching_ER1.8000.000-0.8001.000
predicted_H5.0005.0005.000Pitching_H5.2003.000-0.2002.000
predicted_IP6.1006.1006.100Pitching_InningsPitched6.1307.000-0.030-0.900
predicted_SO7.0007.0007.000Pitching_SO7.00010.0000.000-3.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.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: 5.0000 -> 7.0000 (boost 2.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": "669373",
  "player_name": "Tarik Skubal",
  "position": "Starter",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.3333,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.1,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "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.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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.1,
        "predicted_R": 1.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.1,
          "after": 6.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "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.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_BB1.000-
predicted_ER1.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP6.333-
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_BB1.0000.000
predicted_ER1.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP6.100-0.233
predicted_SO7.0002.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: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45532.0008.00028.0006.00033.0002.0002.25001.06250.25000.87500.18751.03120.0625
last_100.351062.00018.00052.00013.00070.0004.0002.61291.04840.29030.83870.20971.12900.0645
season0.2026158.20048.000126.00027.000186.00014.0002.72270.96430.30250.79410.17021.17230.0882
Weighted Prediction From Real Data
MetricValue
predicted_BB1.3940
predicted_ER1.9640
predicted_ERA2.8164
predicted_H5.4510
predicted_HR0.5090
predicted_IP6.1000
predicted_SO6.7030
predicted_WHIP1.0904
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.39401.2292model_form_blend
predicted_ER1.00001.96401.5609model_form_blend
predicted_ERA-2.81642.8164form_only
predicted_H5.00005.45105.2624model_form_blend
predicted_HR0.00000.50900.2962model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO5.00006.70305.9909model_form_blend
predicted_WHIP-1.09041.0904form_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 used26
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.1
H5
R1
ER1
BB1
SO7
HR0
BF27
Pitches111

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 Faced23
Pitching_ER0
Pitching_ERA2.72
Pitching_Flyouts3
Pitching_Groundouts4
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched7.0
Pitching_Pitches75
Pitching_R0
Pitching_SO10
Pitching_Strikes60
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260925_LAD@SF
game_typefull
mlbID669373
playerID669373
playerNameTarik Skubal
posP
startedTrue
startingPositionP
teamLAD
teamID14
game_date2026-09-25
sl_k_percent30.0
sl_bb_percent4.4
sl_woba0.264
sl_xwoba0.266
sl_sweet_spot_percent34.6
sl_barrel_batted_rate6.7
sl_hard_hit_percent34.8
sl_whiff_percent31.7
sl_swing_percent53.4
sl_avg_best_speed75.355637897
sl_avg_hyper_speed93.484764538
Justin Wrobleski (680736) · PITCHER · Setup Man · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 28
All-history rows before 20261003: 28

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.1070.000-1.1070.000
predicted_ER0.0000.0000.000Pitching_ER2.0360.000-2.0360.000
predicted_H1.0001.0001.000Pitching_H4.6072.000-3.607-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched4.9252.000-3.825-0.900
predicted_SO1.0001.0001.000Pitching_SO4.2143.000-3.214-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_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": "680736",
  "player_name": "Justin Wrobleski",
  "position": "Setup Man",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 28
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.2001.0008.0001.0008.0000.0001.03851.03850.11540.92310.11540.92310.0000
last_100.351027.10021.00035.00010.00031.0009.0006.91461.64630.76831.28050.36591.13410.3293
season0.2028140.00057.000129.00031.000118.00021.0003.66431.14290.40710.92140.22140.84290.1500
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6140
predicted_ER1.0380
predicted_ERA3.7702
predicted_H2.5740
predicted_HR0.3610
predicted_IP2.1000
predicted_SO2.4140
predicted_WHIP1.2860
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.61400.3598model_form_blend
predicted_ER0.00001.03800.6083model_form_blend
predicted_ERA-3.77023.7702form_only
predicted_H1.00002.57401.9224model_form_blend
predicted_HR0.00000.36100.2115model_form_blend
predicted_IP1.10002.10002.0000model_form_blend
predicted_SO1.00002.41401.8286model_form_blend
predicted_WHIP-1.28601.2860form_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 date28
Season rows before report date28
Report year2026
Profile rows used28
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R0
ER0
BB0
SO1
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 Faced7
Pitching_ER0
Pitching_ERA3.66
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches27
Pitching_R0
Pitching_SO3
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260927_LAD@SF
game_typefull
mlbID680736
playerID680736
playerNameJustin Wrobleski
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-09-27
sl_k_percent20.4
sl_bb_percent5.4
sl_woba0.299
sl_xwoba0.326
sl_sweet_spot_percent36.3
sl_barrel_batted_rate9.4
sl_hard_hit_percent43.9
sl_whiff_percent20.7
sl_swing_percent49.9
sl_avg_best_speed79.53216181
sl_avg_hyper_speed94.628612458
Tanner Scott (656945) · PITCHER · Closer · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 69
All-history rows before 20261003: 69

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.2170.0000.7831.000
predicted_ER2.0002.0002.000Pitching_ER0.2750.0001.7252.000
predicted_H1.0001.0001.000Pitching_H0.6961.0000.3040.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8451.0000.1550.000
predicted_SO0.0000.0000.000Pitching_SO1.1882.000-1.188-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: 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": "656945",
  "player_name": "Tanner Scott",
  "position": "Closer",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.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": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_ER2.000-
predicted_H1.000-
predicted_HR1.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: 69
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.0002.0002.0009.0000.0000.00000.80000.00000.40000.40001.80000.0000
last_100.35108.2004.0008.0003.00015.0000.0004.15381.26920.46150.92310.34621.73080.0000
season0.206963.20019.00048.00015.00082.0004.0002.68590.98950.29840.75390.23561.28800.0628
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3570
predicted_ER0.3010
predicted_ERA2.7134
predicted_H0.7450
predicted_HR0.0500
predicted_IP1.0000
predicted_SO1.4690
predicted_WHIP1.1018
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.35700.6570model_form_blend
predicted_ER2.00000.30101.0937model_form_blend
predicted_ERA-2.71342.7134form_only
predicted_H1.00000.74500.8640model_form_blend
predicted_HR1.00000.05000.4932model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.46901.7167model_form_blend
predicted_WHIP-1.10181.1018form_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 date69
Season rows before report date69
Report year2026
Profile rows used69
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R2
ER2
BB1
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_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.69
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260926_LAD@SF
game_typefull
mlbID656945
playerID656945
playerNameTanner Scott
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-09-26
sl_k_percent32.7
sl_bb_percent6.0
sl_woba0.25
sl_xwoba0.27
sl_sweet_spot_percent35.9
sl_barrel_batted_rate6.5
sl_hard_hit_percent34.6
sl_whiff_percent35.5
sl_swing_percent56.4
sl_avg_best_speed77.9267356
sl_avg_hyper_speed93.6064356
Evan Phillips (623465) · PITCHER · Middle Reliever (High Leverage) · Team LAD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 31
All-history rows before 20261003: 31

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1940.0000.8061.000
predicted_ER1.0001.0001.000Pitching_ER0.3230.0000.6771.000
predicted_H2.0002.0002.000Pitching_H0.7100.0001.2902.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.7261.000-0.626-0.900
predicted_SO1.0001.0001.000Pitching_SO1.0652.000-0.065-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_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": "623465",
  "player_name": "Evan Phillips",
  "position": "Middle Reliever (High Leverage)",
  "team": "LAD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_R": 1.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": 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": 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": 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": 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_BB1.000-
predicted_ER1.000-
predicted_H2.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: 31
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0002.0002.0000.0008.0001.0003.60000.40000.40000.40000.00001.60000.2000
last_100.35109.1002.0004.0001.00015.0001.0001.92860.53570.21430.42860.10711.60710.1071
season0.203126.00010.00022.0006.00033.0005.0003.46151.07690.38460.84610.23081.26920.1923
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1540
predicted_ER0.2840
predicted_ERA3.7703
predicted_H0.4970
predicted_HR0.1070
predicted_IP0.2000
predicted_SO0.8450
predicted_WHIP0.9597
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.15400.6226model_form_blend
predicted_ER1.00000.28400.6806model_form_blend
predicted_ERA-3.77033.7703form_only
predicted_H2.00000.49701.3296model_form_blend
predicted_HR0.00000.10700.0477model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO1.00000.84500.9309model_form_blend
predicted_WHIP-0.95970.9597form_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 date31
Season rows before report date31
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
IP0.1
H2
R1
ER1
BB1
SO1
HR0
BF4
Pitches14

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.46
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO2
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20260927_LAD@SF
game_typefull
mlbID623465
playerID623465
playerNameEvan Phillips
posP
startedFalse
startingPositionP
teamLAD
teamID14
game_date2026-09-27
sl_k_percent31.1
sl_bb_percent5.7
sl_woba0.292
sl_xwoba0.321
sl_sweet_spot_percent33.3
sl_barrel_batted_rate16.7
sl_hard_hit_percent39.4
sl_whiff_percent26.7
sl_swing_percent48.7
sl_avg_best_speed80.133585455
sl_avg_hyper_speed95.348925152

20261003_CHW@CLE

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": 2, "confidence": 0.52299845, "home_win_probability": 0.47700155, "away_win_probability": 0.52299845, "predicted_score_text": "CHW 4 - 2 CLE", "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": 4, "run_delta": -0.1596, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.15012565064004255, "contact": 0.03818705229318174, "power": 0.40829836619507615, "discipline": -0.17267673561419725, "xwoba": 0.31909375, "recent_xwoba": 0.31909375, "barrel": 10.103125, "ab_hard_contact": 0.028931609615809144, "ab_bat_speed": 70.58187312229255, "ab_strikeout_rate": 0.3084544195481314, "available_players": 9, "top_players": [{"player_id": "808959", "player_name": "Munetaka Murakami", "position": "1B", "weight": 4.0, "quality": 0.8251337119487945, "contact": 0.3690914698041476, "power": 1.744684576630987, "discipline": -0.08415373008476423, "xwoba": 0.351, "recent_xwoba": 0.351, "barrel": 20.5, "ab_hard_contact": 0.8125486754768769, "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.0139292538360514, "contact": 0.9877073285077654, "power": 1.1486229785712148, "discipline": 0.9850138071916599, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 13.0, "ab_hard_contact": 0.7661738571385865, "ab_bat_speed": 72.6348808991158, "ab_strikeout_rate": 0.18509108341323108, "available": 1.0}, {"player_id": "545341", "player_name": "Randal Grichuk", "position": "LF", "weight": 4.0, "quality": 0.662444504513269, "contact": 0.840071698393558, "power": 1.0688092231755701, "discipline": -0.577536348414989, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 11.199999999999998, "ab_hard_contact": 0.7590416063685542, "ab_bat_speed": 72.96851132686083, "ab_strikeout_rate": 0.24449838187702266, "available": 1.0}, {"player_id": "686668", "player_name": "Brenton Doyle", "position": "CF", "weight": 4.0, "quality": -0.7789800943293936, "contact": -1.156698533355588, "power": -0.5241189845969872, "discipline": -1.089047124047124, "xwoba": 0.245, "recent_xwoba": 0.245, "barrel": 6.7, "ab_hard_contact": -0.8972368347968848, "ab_bat_speed": 69.06285683760683, "ab_strikeout_rate": 0.3717948717948718, "available": 1.0}, {"player_id": "805367", "player_name": "Chase Meidroth", "position": "2B", "weight": 4.0, "quality": -0.3591627449468897, "contact": -0.26600857513763165, "power": -0.5507661808630593, "discipline": 0.28802618690118703, "xwoba": 0.301, "recent_xwoba": 0.301, "barrel": 4.6, "ab_hard_contact": -0.6141807601183336, "ab_bat_speed": 64.30609355709878, "ab_strikeout_rate": 0.22379298941798942, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "800048", "player_name": "Parker Messick", "quality": 0.5269711316073565, "contact": 0.9023982464509372, "command": 0.1612514447908795, "movement": 0.10182963329186563, "xwoba": 0.275, "whiff": 25.5, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "CLE", "original_runs": 3, "run_delta": -0.5254, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": -0.08586278100560525, "contact": -0.003909729046825315, "power": -0.3162561999404254, "discipline": 0.37319104360897226, "xwoba": 0.31074999999999997, "recent_xwoba": 0.31074999999999997, "barrel": 5.153124999999999, "ab_hard_contact": -0.20358828452279726, "ab_bat_speed": 68.70502401302622, "ab_strikeout_rate": 0.18799420413877554, "available_players": 9, "top_players": [{"player_id": "681807", "player_name": "David Fry", "position": "1B", "weight": 3.0, "quality": -0.6823681259915865, "contact": -1.148764286323384, "power": -0.7499963113196396, "discipline": 0.17248584298584302, "xwoba": 0.271, "recent_xwoba": 0.271, "barrel": 6.5, "ab_hard_contact": -0.5846881311546949, "ab_bat_speed": 69.22880898021309, "ab_strikeout_rate": 0.32733333333333337, "available": 1.0}, {"player_id": "595978", "player_name": "Austin Hedges", "position": "C", "weight": 3.0, "quality": -0.6138054423150437, "contact": -0.6478844948041094, "power": -0.8351291238468415, "discipline": 0.33658108108108103, "xwoba": 0.28, "recent_xwoba": 0.28, "barrel": 4.5, "ab_hard_contact": -0.5863920007463519, "ab_bat_speed": 66.4586746031746, "ab_strikeout_rate": 0.19452380952380954, "available": 1.0}, {"player_id": "800050", "player_name": "Chase DeLauter", "position": "RF", "weight": 4.0, "quality": 0.6866047161344385, "contact": 1.0220868687127254, "power": 0.41913689368068274, "discipline": 0.8617363431859231, "xwoba": 0.3459999999999999, "recent_xwoba": 0.346, "barrel": 6.3, "ab_hard_contact": 0.44064263551841026, "ab_bat_speed": 69.96645661597972, "ab_strikeout_rate": 0.1463685474189676, "available": 1.0}, {"player_id": "680757", "player_name": "Steven Kwan", "position": "CF", "weight": 4.0, "quality": -0.2603012899515539, "contact": 0.09197404507159447, "power": -1.2198700414869472, "discipline": 1.6009949552727332, "xwoba": 0.329, "recent_xwoba": 0.329, "barrel": 0.4, "ab_hard_contact": -0.6785436868818142, "ab_bat_speed": 61.13357732706252, "ab_strikeout_rate": 0.09382422104644327, "available": 1.0}, {"player_id": "677587", "player_name": "Brayan Rocchio", "position": "SS", "weight": 3.0, "quality": -0.43348181557596466, "contact": -0.3084185973794254, "power": -0.7248313408144617, "discipline": 0.09285829196543487, "xwoba": 0.294, "recent_xwoba": 0.294, "barrel": 2.9, "ab_hard_contact": -0.5122458639082826, "ab_bat_speed": 68.84742151360544, "ab_strikeout_rate": 0.14203231292517007, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "696146", "player_name": "Hagen Smith", "quality": 0.4132804165182447, "contact": 1.61766630585316, "command": 0.959822873362308, "movement": 0.6109319213716821, "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": 4, "home_runs": 2, "winner_side": "away"}, "adjusted_score": {"away_runs": 4, "home_runs": 2, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.1605, "recent_form_edge_home_minus_away": -0.03, "pitcher_matchup_edge_home_minus_away": 0.0059, "composite_home_edge": -0.4428, "existing_home_win_probability": 0.4729, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.4428}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.472943, "uncapped_away_win_probability": 0.527057, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.527057, "discount_factor": 0.85, "published_confidence": 0.522998, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": false, "applied_discounts": [{"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.477002, "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": 4, "home_runs": 2, "predicted_score_text": "CHW 4 - 2 CLE", "confidence": 0.52299845, "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": 2, "score_text": "CHW 4 - 2 CLE", "winner": "CHW"}, "final_simulation_score": {"away_runs": 4, "home_runs": 2, "score_text": "CHW 4 - 2 CLE", "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.0059, "recent_form_edge_home_minus_away": -0.03, "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": 4, "home_runs": 2, "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": 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": 4, "home_runs": 2}, "simulation_score": {"away_runs": 4, "home_runs": 2}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.1605, "winner": "CHW", "score_reviewed": {"away_runs": 4, "home_runs": 2, "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.523, "internal_signal_score": 0.5732, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.523, "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": 2, "winner_quality_edge": 0.1605, "winner_recent_form_edge": -0.04, "winner_pitcher_matchup_edge": -0.0059, "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": 4, "median": 5, "max": 7, "range": 3}}, "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 4 - 2 CLECHW0.523enhanced_prediction.pre_simulation_targetTrue
Simulation drawCHW 4 - 2 CLECHW-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.5625; weight=0.5000; final=0.5363
P1H2H margin as base featureavailablehome net=-5; abs=5; home delta=-0.0288; away delta=0.0288
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.2685; recent edge=0.0400; 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.1000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5230
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.8793.620-Base ML historical model prediction
2variance_applied54-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction430.5230Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment42-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review42-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target42-Capped at max 12 realistic runs
7simulation_result42-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7872996420212852,
  "base_low_score_probability": 0.42569964525029563,
  "low_score_signal_threshold": 0.5056996452502956,
  "low_score_signal_strength": 0.3615999967709896,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.1340000000000001,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.08,
    "situational": 1.04,
    "combined": 1.8494251776000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 6,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.1,
  "low_score_model_expected_total_runs": 6.1,
  "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": 816,
  "near_bucket_sample_size": 816,
  "medium_bucket_sample_size": 889,
  "wide_bucket_sample_size": 1088,
  "global_sample_size": 1125,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5625,
  "bayesian_hit_rate": 0.5612,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5439,
  "raw_pick_probability_unclamped": 0.5439,
  "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.5274,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.456061,
  "uncapped_away_win_probability": 0.543939,
  "calibrated_pick_probability": 0.5271,
  "predicted_side": "away",
  "reliability": 0.978417,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.985971
}
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": 816,
  "empirical_hit_rate": 0.5625,
  "empirical_weight": 0.5,
  "blended_confidence": 0.5363,
  "published_confidence": 0.522998,
  "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": -5.0,
  "absolute_net_margin": 5.0,
  "home_average_margin": -1.0,
  "home_run_delta": -0.0288,
  "away_run_delta": 0.0288,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -4.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -3.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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5246913580246914,
    "runs_scored": 678,
    "runs_allowed": 667,
    "run_differential": 11,
    "run_differential_per_game": 0.06790123456790123,
    "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.2778,
  "win_pct_edge": 0.0062,
  "quality_edge": -0.1605,
  "season_quality_edge": -0.2685,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2685,
    "recent_quality_edge": 0.04,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.1605
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.024123071990349864
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.023947733670324038
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.023626350419972117
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.023454622515970646
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.021564449350636655
    }
  ],
  "home_distribution": {
    "0": 0.07527066869262464,
    "1": 0.10984503663694313,
    "2": 0.14034756752826408,
    "3": 0.1569998111291837,
    "4": 0.15376700592243828,
    "5": 0.13185511270545647,
    "6": 0.0989921094020718,
    "7": 0.06506897582890725,
    "8": 0.03744701042906975,
    "9": 0.01886818476210655,
    "10": 0.00832363211363857,
    "11": 0.003214884849295648
  },
  "away_distribution": {
    "0": 0.07239621156605851,
    "1": 0.10585436186611731,
    "2": 0.136034157903003,
    "3": 0.15365032490708377,
    "4": 0.1525335189774158,
    "5": 0.13308937714838545,
    "6": 0.1020628736012266,
    "7": 0.06879208733811652,
    "8": 0.04075261476169347,
    "9": 0.021218699733757104,
    "10": 0.009710203942530603,
    "11": 0.003905568254611897
  },
  "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",
    "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": "CLE",
    "h2h_net_margin": 0,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-16",
        "predicted_team_runs": 3,
        "opponent_runs": 6,
        "margin_for_predicted_team": -3,
        "winner": "CLE"
      },
      {
        "date": "2026-09-15",
        "predicted_team_runs": 6,
        "opponent_runs": 7,
        "margin_for_predicted_team": -1,
        "winner": "CLE"
      },
      {
        "date": "2026-09-14",
        "predicted_team_runs": 7,
        "opponent_runs": 3,
        "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": 11,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 3,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260916",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 3,
          "raw_pick_probability": 0.556513,
          "artifact": "20260916_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260915",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CLE",
          "actual_margin": 1,
          "raw_pick_probability": 0.544573,
          "artifact": "20260915_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260914",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CHW",
          "actual_margin": 4,
          "raw_pick_probability": 0.505654,
          "artifact": "20260914_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260809",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 2,
          "raw_pick_probability": 0.56,
          "artifact": "20260809_CLE@CHW.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260808",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 3,
          "raw_pick_probability": 0.7,
          "artifact": "20260808_CLE@CHW.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "CHW",
    "guardrail_opponent_team": "CLE",
    "output_pre_simulation_winner": "CHW",
    "output_opponent_team": "CLE",
    "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": 4,
      "home_runs": 2,
      "score_text": "CHW 4 - 2 CLE",
      "winner": "CHW"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "CHW 4 - 2 CLE",
      "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.0059,
      "recent_form_edge_home_minus_away": -0.03,
      "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": 4,
      "home_runs": 2,
      "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": 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": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.1605,
      "winner": "CHW",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "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": "CLE",
      "games": 162,
      "wins": 85,
      "losses": 77,
      "win_pct": 0.5246913580246914,
      "runs_scored": 678,
      "runs_allowed": 667,
      "run_differential": 11,
      "run_differential_per_game": 0.06790123456790123,
      "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.1605,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.53,
  "final_confidence": 0.5271,
  "calibrated_pick_probability": 0.5271,
  "shrinkage_weight": 0.985971,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 816,
  "calibration_empirical_hit_rate": 0.5625,
  "calibration_bayesian_hit_rate": 0.5612,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.1605,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "margin": -1,
    "probability_before": 0.472943,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.985971,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.472943,
    "aligned_pick_probability": 0.527057
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 19,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "CHW 4 - 2 CLE",
    "winner": "CHW"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "CHW 4 - 2 CLE",
    "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.0059,
    "recent_form_edge_home_minus_away": -0.03,
    "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": 4,
    "home_runs": 2,
    "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": 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": 4,
      "home_runs": 2
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 2
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.1605,
    "winner": "CHW",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 2,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 2,
  "confidence": 0.52299845,
  "home_win_probability": 0.47700155,
  "away_win_probability": 0.52299845,
  "predicted_score_text": "CHW 4 - 2 CLE",
  "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": 4,
      "run_delta": -0.1596,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.15012565064004255,
        "contact": 0.03818705229318174,
        "power": 0.40829836619507615,
        "discipline": -0.17267673561419725,
        "xwoba": 0.31909375,
        "recent_xwoba": 0.31909375,
        "barrel": 10.103125,
        "ab_hard_contact": 0.028931609615809144,
        "ab_bat_speed": 70.58187312229255,
        "ab_strikeout_rate": 0.3084544195481314,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "808959",
            "player_name": "Munetaka Murakami",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.8251337119487945,
            "contact": 0.3690914698041476,
            "power": 1.744684576630987,
            "discipline": -0.08415373008476423,
            "xwoba": 0.351,
            "recent_xwoba": 0.351,
            "barrel": 20.5,
            "ab_hard_contact": 0.8125486754768769,
            "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.0139292538360514,
            "contact": 0.9877073285077654,
            "power": 1.1486229785712148,
            "discipline": 0.9850138071916599,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 13.0,
            "ab_hard_contact": 0.7661738571385865,
            "ab_bat_speed": 72.6348808991158,
            "ab_strikeout_rate": 0.18509108341323108,
            "available": 1.0
          },
          {
            "player_id": "545341",
            "player_name": "Randal Grichuk",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.662444504513269,
            "contact": 0.840071698393558,
            "power": 1.0688092231755701,
            "discipline": -0.577536348414989,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 11.199999999999998,
            "ab_hard_contact": 0.7590416063685542,
            "ab_bat_speed": 72.96851132686083,
            "ab_strikeout_rate": 0.24449838187702266,
            "available": 1.0
          },
          {
            "player_id": "686668",
            "player_name": "Brenton Doyle",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.7789800943293936,
            "contact": -1.156698533355588,
            "power": -0.5241189845969872,
            "discipline": -1.089047124047124,
            "xwoba": 0.245,
            "recent_xwoba": 0.245,
            "barrel": 6.7,
            "ab_hard_contact": -0.8972368347968848,
            "ab_bat_speed": 69.06285683760683,
            "ab_strikeout_rate": 0.3717948717948718,
            "available": 1.0
          },
          {
            "player_id": "805367",
            "player_name": "Chase Meidroth",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.3591627449468897,
            "contact": -0.26600857513763165,
            "power": -0.5507661808630593,
            "discipline": 0.28802618690118703,
            "xwoba": 0.301,
            "recent_xwoba": 0.301,
            "barrel": 4.6,
            "ab_hard_contact": -0.6141807601183336,
            "ab_bat_speed": 64.30609355709878,
            "ab_strikeout_rate": 0.22379298941798942,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "800048",
        "player_name": "Parker Messick",
        "quality": 0.5269711316073565,
        "contact": 0.9023982464509372,
        "command": 0.1612514447908795,
        "movement": 0.10182963329186563,
        "xwoba": 0.275,
        "whiff": 25.5,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "CLE",
      "original_runs": 3,
      "run_delta": -0.5254,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": -0.08586278100560525,
        "contact": -0.003909729046825315,
        "power": -0.3162561999404254,
        "discipline": 0.37319104360897226,
        "xwoba": 0.31074999999999997,
        "recent_xwoba": 0.31074999999999997,
        "barrel": 5.153124999999999,
        "ab_hard_contact": -0.20358828452279726,
        "ab_bat_speed": 68.70502401302622,
        "ab_strikeout_rate": 0.18799420413877554,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "681807",
            "player_name": "David Fry",
            "position": "1B",
            "weight": 3.0,
            "quality": -0.6823681259915865,
            "contact": -1.148764286323384,
            "power": -0.7499963113196396,
            "discipline": 0.17248584298584302,
            "xwoba": 0.271,
            "recent_xwoba": 0.271,
            "barrel": 6.5,
            "ab_hard_contact": -0.5846881311546949,
            "ab_bat_speed": 69.22880898021309,
            "ab_strikeout_rate": 0.32733333333333337,
            "available": 1.0
          },
          {
            "player_id": "595978",
            "player_name": "Austin Hedges",
            "position": "C",
            "weight": 3.0,
            "quality": -0.6138054423150437,
            "contact": -0.6478844948041094,
            "power": -0.8351291238468415,
            "discipline": 0.33658108108108103,
            "xwoba": 0.28,
            "recent_xwoba": 0.28,
            "barrel": 4.5,
            "ab_hard_contact": -0.5863920007463519,
            "ab_bat_speed": 66.4586746031746,
            "ab_strikeout_rate": 0.19452380952380954,
            "available": 1.0
          },
          {
            "player_id": "800050",
            "player_name": "Chase DeLauter",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.6866047161344385,
            "contact": 1.0220868687127254,
            "power": 0.41913689368068274,
            "discipline": 0.8617363431859231,
            "xwoba": 0.3459999999999999,
            "recent_xwoba": 0.346,
            "barrel": 6.3,
            "ab_hard_contact": 0.44064263551841026,
            "ab_bat_speed": 69.96645661597972,
            "ab_strikeout_rate": 0.1463685474189676,
            "available": 1.0
          },
          {
            "player_id": "680757",
            "player_name": "Steven Kwan",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.2603012899515539,
            "contact": 0.09197404507159447,
            "power": -1.2198700414869472,
            "discipline": 1.6009949552727332,
            "xwoba": 0.329,
            "recent_xwoba": 0.329,
            "barrel": 0.4,
            "ab_hard_contact": -0.6785436868818142,
            "ab_bat_speed": 61.13357732706252,
            "ab_strikeout_rate": 0.09382422104644327,
            "available": 1.0
          },
          {
            "player_id": "677587",
            "player_name": "Brayan Rocchio",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.43348181557596466,
            "contact": -0.3084185973794254,
            "power": -0.7248313408144617,
            "discipline": 0.09285829196543487,
            "xwoba": 0.294,
            "recent_xwoba": 0.294,
            "barrel": 2.9,
            "ab_hard_contact": -0.5122458639082826,
            "ab_bat_speed": 68.84742151360544,
            "ab_strikeout_rate": 0.14203231292517007,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "696146",
        "player_name": "Hagen Smith",
        "quality": 0.4132804165182447,
        "contact": 1.61766630585316,
        "command": 0.959822873362308,
        "movement": 0.6109319213716821,
        "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": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.1605,
      "recent_form_edge_home_minus_away": -0.03,
      "pitcher_matchup_edge_home_minus_away": 0.0059,
      "composite_home_edge": -0.4428,
      "existing_home_win_probability": 0.4729,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.4428
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.472943,
  "uncapped_away_win_probability": 0.527057,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.527057,
    "discount_factor": 0.85,
    "published_confidence": 0.522998,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "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.477002,
    "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": 4,
    "home_runs": 2,
    "predicted_score_text": "CHW 4 - 2 CLE",
    "confidence": 0.52299845,
    "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": 2,
      "score_text": "CHW 4 - 2 CLE",
      "winner": "CHW"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "CHW 4 - 2 CLE",
      "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.0059,
      "recent_form_edge_home_minus_away": -0.03,
      "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": 4,
      "home_runs": 2,
      "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": 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": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.1605,
      "winner": "CHW",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "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.523,
    "internal_signal_score": 0.5732,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.523,
    "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": 2,
      "winner_quality_edge": 0.1605,
      "winner_recent_form_edge": -0.04,
      "winner_pitcher_matchup_edge": -0.0059,
      "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": 4,
        "median": 5,
        "max": 7,
        "range": 3
      }
    },
    "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.02711.0271190
Home CLETrue1.00191.0019190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFRandal Grichuk-1.06250.8328negative_batter_regression0.33500.27800.478011.2049.8091.3017.102421.803.90-1
1BMunetaka Murakami-1.08351.1131neutral0.35100.20400.469020.5056.8093.9016.1042.3035.4016.60-0.1429
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
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
CFBrenton Doyle-0.9413-0.7821negative_batter_regression0.24500.20300.30706.7035.5089.108.6032.5032.705.40-1
DHTommy Pham-1.02050.2733positive_batter_regression0.31700.23600.35405.3052.6093.6012.7034.5031.4014.302
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
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
CFSteven Kwan-1.00180.0246neutral0.32900.27800.34300.4010.5083.9012.808.209.7013.30-0.1429
DHJo Adell-1.05380.7179neutral0.32900.25700.44408.9044.9090.4016.2028.2023.805.200.6286
1BDavid Fry-0.9512-0.6501negative_batter_regression0.27100.18100.29406.5034.4086.3019.2028.9027.6013.10-0.9429
3BJosé Ramírez-1.03590.4788neutral0.32500.26600.39104.1038.8088.601915.3012.70110.6857
LFAngel Martínez-0.9984-0.0218neutral0.29900.25100.40107.2035.5087.5014.8020.7021.903.10-0.7714
RFChase DeLauter-1.06020.8032neutral0.34600.27700.42706.3046.3091.4011.801514.7010.70-0.3714
2BTravis Bazzana-0.9817-0.2433neutral0.29900.22400.34705.2036.2087.6015.7023.2020.7010.80-0.8286
CAustin Hedges-0.9548-0.6020negative_batter_regression0.28000.22400.31404.5032.4085.8012.4024.1018.2010.10-0.9429
SSBrayan Rocchio-0.9791-0.2783neutral0.29400.24600.35002.90308713.8022.1014.406.40-0.4857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0019,
    "raw_average_factor": 1.0019,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "680757",
        "player_name": "Steven Kwan",
        "offense_factor": 1.0018,
        "quality_score": 0.0246,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680757",
          "espn_rank": null
        },
        "metrics": {
          "pa": 580.0,
          "k_percent": 9.7,
          "bb_percent": 13.3,
          "woba": 0.334,
          "xwoba": 0.329,
          "xba": 0.278,
          "xslg": 0.343,
          "sweet_spot_percent": 40.6,
          "barrel_batted_rate": 0.4,
          "hard_hit_percent": 10.5,
          "exit_velocity_avg": 83.9,
          "launch_angle_avg": 12.8,
          "whiff_percent": 8.2,
          "swing_percent": 35.7
        },
        "components": {
          "expected_quality": 0.0518,
          "regression_edge": -0.1429,
          "xwoba_edge": 0.8571,
          "xba_edge": 1.2,
          "xslg_edge": -0.2857,
          "barrel_edge": -1.3778,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.8,
          "sweet_spot_edge": 1.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "666176",
        "player_name": "Jo Adell",
        "offense_factor": 1.0538,
        "quality_score": 0.7179,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666176",
          "espn_rank": null
        },
        "metrics": {
          "pa": 605.0,
          "k_percent": 23.8,
          "bb_percent": 5.2,
          "woba": 0.307,
          "xwoba": 0.329,
          "xba": 0.257,
          "xslg": 0.444,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 44.9,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.2,
          "whiff_percent": 28.2,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 0.7325,
          "regression_edge": 0.6286,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.6,
          "xslg_edge": 1.1571,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 1.0429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "681807",
        "player_name": "David Fry",
        "offense_factor": 0.9512,
        "quality_score": -0.6501,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "681807",
          "espn_rank": null
        },
        "metrics": {
          "pa": 185.0,
          "k_percent": 27.6,
          "bb_percent": 13.1,
          "woba": 0.304,
          "xwoba": 0.271,
          "xba": 0.181,
          "xslg": 0.294,
          "sweet_spot_percent": 25.6,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 34.4,
          "exit_velocity_avg": 86.3,
          "launch_angle_avg": 19.2,
          "whiff_percent": 28.9,
          "swing_percent": 43.8
        },
        "components": {
          "expected_quality": -0.7454,
          "regression_edge": -0.9429,
          "xwoba_edge": -0.8,
          "xba_edge": -1.5714,
          "xslg_edge": -0.9857,
          "barrel_edge": -0.0222,
          "hard_hit_edge": -0.4571,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": -1.2833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "608070",
        "player_name": "José Ramírez",
        "offense_factor": 1.0359,
        "quality_score": 0.4788,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "608070",
          "espn_rank": null
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 12.7,
          "bb_percent": 11.0,
          "woba": 0.301,
          "xwoba": 0.325,
          "xba": 0.266,
          "xslg": 0.391,
          "sweet_spot_percent": 35.3,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 19.0,
          "whiff_percent": 15.3,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.4451,
          "regression_edge": 0.6857,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.8571,
          "xslg_edge": 0.4,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.3333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "682657",
        "player_name": "Angel Martínez",
        "offense_factor": 0.9984,
        "quality_score": -0.0218,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 374.0,
          "k_percent": 21.9,
          "bb_percent": 3.1,
          "woba": 0.326,
          "xwoba": 0.299,
          "xba": 0.251,
          "xslg": 0.401,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 14.8,
          "whiff_percent": 20.7,
          "swing_percent": 54.3
        },
        "components": {
          "expected_quality": 0.1002,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.0,
          "xba_edge": 0.4286,
          "xslg_edge": 0.5429,
          "barrel_edge": 0.1333,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "800050",
        "player_name": "Chase DeLauter",
        "offense_factor": 1.0602,
        "quality_score": 0.8032,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "800050",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 10.7,
          "woba": 0.359,
          "xwoba": 0.346,
          "xba": 0.277,
          "xslg": 0.427,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 46.3,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 11.8,
          "whiff_percent": 15.0,
          "swing_percent": 42.3
        },
        "components": {
          "expected_quality": 0.9944,
          "regression_edge": -0.3714,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.1714,
          "xslg_edge": 0.9143,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 1.2429,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "683953",
        "player_name": "Travis Bazzana",
        "offense_factor": 0.9817,
        "quality_score": -0.2433,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683953",
          "espn_rank": null
        },
        "metrics": {
          "pa": 473.0,
          "k_percent": 20.7,
          "bb_percent": 10.8,
          "woba": 0.328,
          "xwoba": 0.299,
          "xba": 0.224,
          "xslg": 0.347,
          "sweet_spot_percent": 30.0,
          "barrel_batted_rate": 5.2,
          "hard_hit_percent": 36.2,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 15.7,
          "whiff_percent": 23.2,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.1481,
          "regression_edge": -0.8286,
          "xwoba_edge": 0.0,
          "xba_edge": -0.3429,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -0.2,
          "exit_velocity_edge": -0.32,
          "sweet_spot_edge": -0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "595978",
        "player_name": "Austin Hedges",
        "offense_factor": 0.9548,
        "quality_score": -0.602,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "595978",
          "espn_rank": null
        },
        "metrics": {
          "pa": 228.0,
          "k_percent": 18.2,
          "bb_percent": 10.1,
          "woba": 0.313,
          "xwoba": 0.28,
          "xba": 0.224,
          "xslg": 0.314,
          "sweet_spot_percent": 26.7,
          "barrel_batted_rate": 4.5,
          "hard_hit_percent": 32.4,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 12.4,
          "whiff_percent": 24.1,
          "swing_percent": 44.5
        },
        "components": {
          "expected_quality": -0.5465,
          "regression_edge": -0.9429,
          "xwoba_edge": -0.5429,
          "xba_edge": -0.3429,
          "xslg_edge": -0.7,
          "barrel_edge": -0.4667,
          "hard_hit_edge": -0.7429,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -1.1,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "677587",
        "player_name": "Brayan Rocchio",
        "offense_factor": 0.9791,
        "quality_score": -0.2783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677587",
          "espn_rank": null
        },
        "metrics": {
          "pa": 548.0,
          "k_percent": 14.4,
          "bb_percent": 6.4,
          "woba": 0.311,
          "xwoba": 0.294,
          "xba": 0.246,
          "xslg": 0.35,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 30.0,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 13.8,
          "whiff_percent": 22.1,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.2445,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.1429,
          "xba_edge": 0.2857,
          "xslg_edge": -0.1857,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0271,
    "raw_average_factor": 1.0271,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "545341",
        "player_name": "Randal Grichuk",
        "offense_factor": 1.0625,
        "quality_score": 0.8328,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "545341",
          "espn_rank": null
        },
        "metrics": {
          "pa": 246.0,
          "k_percent": 21.8,
          "bb_percent": 3.9,
          "woba": 0.37,
          "xwoba": 0.335,
          "xba": 0.278,
          "xslg": 0.478,
          "sweet_spot_percent": 37.7,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 49.8,
          "exit_velocity_avg": 91.3,
          "launch_angle_avg": 17.1,
          "whiff_percent": 24.0,
          "swing_percent": 53.0
        },
        "components": {
          "expected_quality": 1.1312,
          "regression_edge": -1.0,
          "xwoba_edge": 1.0286,
          "xba_edge": 1.2,
          "xslg_edge": 1.6429,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 1.7429,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": 0.7333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "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": "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": "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": "686668",
        "player_name": "Brenton Doyle",
        "offense_factor": 0.9413,
        "quality_score": -0.7821,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "686668",
          "espn_rank": null
        },
        "metrics": {
          "pa": 192.0,
          "k_percent": 32.7,
          "bb_percent": 5.4,
          "woba": 0.28,
          "xwoba": 0.245,
          "xba": 0.203,
          "xslg": 0.307,
          "sweet_spot_percent": 26.8,
          "barrel_batted_rate": 6.7,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 8.6,
          "whiff_percent": 32.5,
          "swing_percent": 54.5
        },
        "components": {
          "expected_quality": -0.8792,
          "regression_edge": -1.0,
          "xwoba_edge": -1.5429,
          "xba_edge": -0.9429,
          "xslg_edge": -0.8,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": -1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "502054",
        "player_name": "Tommy Pham",
        "offense_factor": 1.0205,
        "quality_score": 0.2733,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "502054",
          "espn_rank": null
        },
        "metrics": {
          "pa": 21.0,
          "k_percent": 31.4,
          "bb_percent": 14.3,
          "woba": 0.209,
          "xwoba": 0.317,
          "xba": 0.236,
          "xslg": 0.354,
          "sweet_spot_percent": 26.3,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 52.6,
          "exit_velocity_avg": 93.6,
          "launch_angle_avg": 12.7,
          "whiff_percent": 34.5,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": 0.3805,
          "regression_edge": 2.0,
          "xwoba_edge": 0.5143,
          "xba_edge": 0.0,
          "xslg_edge": -0.1286,
          "barrel_edge": -0.2889,
          "hard_hit_edge": 2.1429,
          "exit_velocity_edge": 2.08,
          "sweet_spot_edge": -1.1667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "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": "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.48030.45000.95921.06741.04770.9210negative_pitcher_regression0.24300.211037.3014.5036.201.9034
Home CLETrue-0.540910.95401.02290.94800.9086neutral0.27500.274025.806.6025.50534.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CHWTrueNone3089.20239700000000-0.0374
Home CLETrueNone9790.122107000000000.0142
Run FactorValue
away_runs_vs_home_pitcher0.9748
home_runs_vs_away_pitcher0.9907
home_pitcher_starter_only_factor0.9540
away_pitcher_starter_only_factor0.9816
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.5556
home_pitcher_quality_edge0.0938
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "800048",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 705.0,
      "k_percent": 25.8,
      "bb_percent": 6.6,
      "woba": 0.274,
      "xwoba": 0.275,
      "sweet_spot_percent": 30.7,
      "barrel_batted_rate": 5.0,
      "hard_hit_percent": 34.3,
      "avg_best_speed": 76.3542,
      "avg_hyper_speed": 93.484,
      "whiff_percent": 25.5,
      "swing_percent": 48.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.7912,
      "command_and_miss": 0.3829,
      "regression_edge": -0.0286,
      "xwoba_edge": 1.0571,
      "barrel_edge": 0.4889,
      "hard_hit_edge": 0.5143,
      "whiff_edge": 0.0429,
      "bb_edge": 0.65,
      "pitch_design_score": 0.0142
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "800048",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 97,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 97,
        "pitch_usage": 0.0,
        "release_speed": 90.117481056101,
        "release_spin_rate": 2107.0953611307837,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 97,
          "pitch_usage": 0.0,
          "release_speed": 90.117481056101,
          "release_spin_rate": 2107.0953611307837,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1175,
        "release_spin_rate": 2107.0954,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0142,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.1013,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -0.0
      },
      "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
    },
    "quality_score": 0.5409,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.954,
    "strikeout_factor": 1.0229,
    "walk_factor": 0.948,
    "homer_factor": 0.9086,
    "woba_minus_xwoba": -0.001,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "800048",
      "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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.4885,
      "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": 30,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 30,
        "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": 30,
          "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.4803,
    "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": 0.9748,
    "home_runs_vs_away_pitcher": 0.9907,
    "home_pitcher_starter_only_factor": 0.954,
    "away_pitcher_starter_only_factor": 0.9816,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": 0.0938
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 3.0
  },
  "score_after": {
    "away_runs": 3.8991,
    "home_runs": 2.972,
    "home_win_probability": 0.4229
  },
  "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 CLE8-20.8005.303.20211Lhotstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CHW84-780.519560.346True
Home CLE85-770.525110.068True
Signal---0.278-0.161applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-16CHW @ CLE3 - 6CLE3blowout
2026-09-15CHW @ CLE6 - 7CLE1close
2026-09-14CHW @ CLE7 - 3CHW4blowout
2026-08-09CLE @ CHW3 - 5CHW2close
2026-08-08CLE @ CHW3 - 6CHW3blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CHW--4----
Game target CLE--2----
Player finalized CHW327514311
Player finalized CLE32751448
Player model fractional CHW31.006.874.831.374.483.1210.19
Player model fractional CLE33.166.914.151.114.053.817.13
Simulation box CHW37740435
Simulation box CLE35521229

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 Smith505222.731.13True
Away CHWCloserGrant Taylor1.1021202.020.93True
Away CHWMiddle Reliever (High Leverage)Sean Newcomb1.1001004.681.35True
Away CHWSetup ManBryan Hudson100003.441.26True
Away CHWMiddle Reliever (High Leverage)Jordan Hicks0.1001005.071.49True
Away CHWMiddle RelieverHuascar Brazobán001102.560.87True
Home CLEStarterParker Messick635513.081.22True
Home CLECloserCade Smith100001.430.70True
Home CLEMiddle Reliever (High Leverage)Erik Sabrowski210112.091.18True
Home CLESetup ManHunter Gaddis000114.511.57True
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
awayCHWbatterLFRandal Grichukbetter96354predicted_AB2.5000boostbetter
awayCHWbatterCFBrenton Doyleworse101919predicted_AB2.1390boostbetter
awayCHWbatterRFBraden Montgomerybetter118392predicted_2B1.8300boostbetter
awayCHWbatter1BMunetaka Murakamibetter115665predicted_SO-1.5580deboostbetter
awayCHWbatterSSColson Montgomeryworse1111029predicted_SO-1.4840deboostbetter
homeCLEbatterCFSteven Kwanworse95445predicted_AB1.3720boostbetter
awayCHWbatter2BChase Meidrothworse113829predicted_H-1.3600deboostworse
awayCHWbatterCKyle Teelworse112938predicted_SO-1.3500deboostbetter
homeCLEbatterLFAngel Martínezbetter117465predicted_RBI1.2600boostbetter
homeCLEbatter1BDavid Fryworse105546predicted_SO1.2030boostworse
awayCHWbatter3BMiguel Vargasworse92718predicted_SO1.1940boostworse
homeCLEbatterRFChase DeLauterworse1019010predicted_H-1.1000deboostworse
homeCLEbatter2BTravis Bazzanadeboosted104655predicted_H1.0900boostbetter
homeCLEbatterSSBrayan Rocchioworse103728predicted_H-1.0600deboostworse
awayCHWbatterDHTommy Phambetter115665predicted_SO-1.0580deboostbetter
homeCLEpitcherStarterParker Messickbetter11010predicted_SO1.0000boostbetter
homeCLEpitcherMiddle Reliever (High Leverage)Erik Sabrowskineutral21111predicted_IP1.0000boostbetter
homeCLEbatterDHJo Adellworse82626predicted_H-0.9110deboostworse
awayCHWpitcherMiddle RelieverHuascar Brazobánbetter11010predicted_IP0.9000boostbetter
homeCLEbatter3BJosé Ramírezworse101928predicted_AB-0.8300deboostworse
homeCLEbatterCAustin Hedgesworse103728predicted_BB0.6620boostbetter
awayCHWpitcherCloserGrant Taylorworse10101predicted_IP-0.2333deboostworse
awayCHWpitcherMiddle Reliever (High Leverage)Sean Newcombworse10101predicted_IP-0.2333deboostworse
awayCHWpitcherMiddle Reliever (High Leverage)Jordan Hicksworse10101predicted_IP-0.2333deboostworse

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.4803
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 ER0
Pre H2
Pre BB2
Pre SO5
Season ERA0.8710
Season WHIP0.9032
Role Avg IP2.5000
Recent Avg IP2.5000
Last Start IP3
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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4885,
        "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": 30,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 30,
          "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": 30,
            "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.4803,
      "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": 3.0,
        "factor": 0.9816,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0215,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9645,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0303,
        "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": 18.0,
    "ER": 3,
    "H": 8,
    "BB": 6,
    "SO": 23,
    "HR": 0,
    "ERA": 1.5,
    "WHIP": 0.7777777777777778,
    "K9": 11.5,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-29T00: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": 30,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 30,
    "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": 30,
      "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": 6.389,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.561,
    "prior_weight": 0.439
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "696146",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 18,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 30.0,
        "Pitches": 127.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.8,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 6.0,
        "Pitches": 25.4
      },
      "rates": {
        "ERA": 1.2273,
        "WHIP": 1.0909,
        "ER_per_IP": 0.13636,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.54545,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 18.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 6.0,
        "SO": 23.0,
        "HR": 0.0,
        "BF": 68.0,
        "Pitches": 272.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.6,
        "SO": 2.3,
        "HR": 0.0,
        "BF": 6.8,
        "Pitches": 27.2
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 0.7778,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.44444,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.27778,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 18,
      "totals": {
        "IP": 31.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 12.0,
        "BB": 16.0,
        "SO": 42.0,
        "HR": 0.0,
        "BF": 120.0,
        "Pitches": 503.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.1667,
        "R": 0.1667,
        "H": 0.6667,
        "BB": 0.8889,
        "SO": 2.3333,
        "HR": 0.0,
        "BF": 6.6667,
        "Pitches": 27.9444
      },
      "rates": {
        "ERA": 0.871,
        "WHIP": 0.9032,
        "ER_per_IP": 0.09677,
        "H_per_IP": 0.3871,
        "BB_per_IP": 0.51613,
        "SO_per_IP": 1.35484,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 0.922,
    "predicted_H": 2.134,
    "predicted_BB": 1.302,
    "predicted_SO": 3.314,
    "predicted_HR": 0.197,
    "predicted_ERA": 2.7256,
    "predicted_WHIP": 1.1281
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5355,
  "form_weight": 0.4645,
  "form_reliability": 0.561,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.389,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.561,
    "prior_weight": 0.439
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 3.0,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.922,
      "final": 0.4283,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 2.134,
      "final": 2.0622,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.302,
      "final": 1.6758,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 3.314,
      "final": 4.2168,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.197,
      "final": 0.0915,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7256,
      "final": 2.7256,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1281,
      "final": 1.1281,
      "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.5158
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 ER2
Pre H2
Pre BB0
Pre SO1
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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6824,
        "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.5158,
      "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.61,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.699,
    "prior_weight": 0.301
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "691799",
  "report_date": "20261003",
  "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.322,
    "predicted_H": 0.912,
    "predicted_BB": 0.426,
    "predicted_SO": 1.56,
    "predicted_HR": 0.102,
    "predicted_ERA": 2.016,
    "predicted_WHIP": 0.9304
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4772,
  "form_weight": 0.5228,
  "form_reliability": 0.699,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.61,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.699,
    "prior_weight": 0.301
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.322,
      "final": 1.1227,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.912,
      "final": 1.4312,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.426,
      "final": 0.2227,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.56,
      "final": 1.2928,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.102,
      "final": 0.5305,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.016,
      "final": 2.016,
      "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
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0526
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 ER0
Pre H0
Pre BB0
Pre SO1
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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0834,
        "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.0526,
      "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.381,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7766,
    "prior_weight": 0.2234
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20261003",
  "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.066,
    "predicted_ERA": 4.6758,
    "predicted_WHIP": 1.352
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4444,
  "form_weight": 0.5556,
  "form_reliability": 0.7766,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.381,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7766,
    "prior_weight": 0.2234
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.2,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.935,
      "final": 0.5195,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.807,
      "final": 1.004,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.625,
      "final": 0.3473,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.748,
      "final": 1.4156,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.0367,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6758,
      "final": 4.6758,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.352,
      "final": 1.352,
      "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
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4091
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0787
Avg Velo88.4591
Avg Spin2154.7309
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6236,
        "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.4091,
      "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.465,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7292,
    "prior_weight": 0.2708
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663542",
  "report_date": "20261003",
  "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.4375,
    "predicted_WHIP": 1.2649
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4644,
  "form_weight": 0.5356,
  "form_reliability": 0.7292,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.465,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7292,
    "prior_weight": 0.2708
  },
  "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.2046,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.124,
      "final": 0.602,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.141,
      "final": 0.0755,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.709,
      "final": 0.3797,
      "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.4375,
      "final": 3.4375,
      "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."
}
FieldValue
PitcherJordan Hicks
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4937
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo94.9903
Avg Spin2069.2367
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.8250
Season WHIP1.5000
Role Avg IP0.9510
Recent Avg IP1.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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663855",
    "profile": {
      "available": true,
      "pitcher_id": "663855",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 164.0,
        "k_percent": 29.6,
        "bb_percent": 15.3,
        "woba": 0.309,
        "xwoba": 0.262,
        "sweet_spot_percent": 27.1,
        "barrel_batted_rate": 1.7,
        "hard_hit_percent": 33.1,
        "avg_best_speed": 78.2319,
        "avg_hyper_speed": 93.4981,
        "whiff_percent": 28.2,
        "swing_percent": 44.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9121,
        "command_and_miss": 0.3271,
        "regression_edge": 1.3429,
        "xwoba_edge": 1.4286,
        "barrel_edge": 1.2222,
        "hard_hit_edge": 0.6857,
        "whiff_edge": 0.4286,
        "bb_edge": -1.525,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663855",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 94.99032641703893,
          "release_spin_rate": 2069.2367121559296,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 94.99032641703893,
            "release_spin_rate": 2069.2367121559296,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9903,
          "release_spin_rate": 2069.2367,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.4937,
      "sample_weight": 0.656,
      "run_prevention_factor": 0.958,
      "strikeout_factor": 1.0394,
      "walk_factor": 1.08,
      "homer_factor": 0.8898,
      "woba_minus_xwoba": 0.047,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "663855",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9724,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9724,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0525,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9277,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0258,
        "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": 6,
    "H": 13,
    "BB": 4,
    "SO": 14,
    "HR": 2,
    "ERA": 5.4,
    "WHIP": 1.7,
    "K9": 12.6,
    "HR9": 1.8,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663855",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 94.99032641703893,
    "release_spin_rate": 2069.2367121559296,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 94.99032641703893,
      "release_spin_rate": 2069.2367121559296,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9903,
    "release_spin_rate": 2069.2367,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 8.244,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6225,
    "prior_weight": 0.3775
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663855",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 27.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.2,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.4,
        "Pitches": 20.6
      },
      "rates": {
        "ERA": 6.0,
        "WHIP": 1.5,
        "ER_per_IP": 0.66667,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.16667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 4.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 47.0,
        "Pitches": 183.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.3,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.7,
        "Pitches": 18.3
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.7,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.3,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.2
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 40.0,
        "ER": 17.0,
        "R": 17.0,
        "H": 35.0,
        "BB": 25.0,
        "SO": 49.0,
        "HR": 3.0,
        "BF": 178.0,
        "Pitches": 695.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4048,
        "R": 0.4048,
        "H": 0.8333,
        "BB": 0.5952,
        "SO": 1.1667,
        "HR": 0.0714,
        "BF": 4.2381,
        "Pitches": 16.5476
      },
      "rates": {
        "ERA": 3.825,
        "WHIP": 1.5,
        "ER_per_IP": 0.425,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.225,
        "HR_per_IP": 0.075
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.474,
    "predicted_H": 0.879,
    "predicted_BB": 0.377,
    "predicted_SO": 1.035,
    "predicted_HR": 0.131,
    "predicted_ERA": 5.0736,
    "predicted_WHIP": 1.4921
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5095,
  "form_weight": 0.4905,
  "form_reliability": 0.6225,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.244,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6225,
    "prior_weight": 0.3775
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.474,
      "final": 0.2325,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.879,
      "final": 0.4312,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.377,
      "final": 0.1849,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.035,
      "final": 1.0172,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.131,
      "final": 0.0643,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0736,
      "final": 5.0736,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4921,
      "final": 1.4921,
      "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
PitcherHuascar Brazobán
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2843
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2189
Avg Velo93.7728
Avg Spin2192.8769
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.5633
Season WHIP1.0063
Role Avg IP1.1420
Recent Avg IP1
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.0655,
    "defense_index": 1.0115,
    "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": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0063,
    "offense_edge": 0.0655,
    "opponent_offense_edge": -0.0691,
    "defense_strength": 0.0115,
    "opponent_defense_weakness": -0.0919,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9881,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623211",
    "profile": {
      "available": true,
      "pitcher_id": "623211",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 200.0,
        "k_percent": 21.0,
        "bb_percent": 10.9,
        "woba": 0.271,
        "xwoba": 0.289,
        "sweet_spot_percent": 27.6,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 30.9,
        "avg_best_speed": 74.7875,
        "avg_hyper_speed": 92.9636,
        "whiff_percent": 25.6,
        "swing_percent": 49.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7582,
        "command_and_miss": -0.1357,
        "regression_edge": -0.5143,
        "xwoba_edge": 0.6571,
        "barrel_edge": 0.4889,
        "hard_hit_edge": 1.0,
        "whiff_edge": 0.0571,
        "bb_edge": -0.425,
        "pitch_design_score": 0.2189
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623211",
        "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.77278348658143,
          "release_spin_rate": 2192.876921548624,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.77278348658143,
            "release_spin_rate": 2192.876921548624,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7728,
          "release_spin_rate": 2192.8769,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2189,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5635,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2843,
      "sample_weight": 0.8,
      "run_prevention_factor": 0.9758,
      "strikeout_factor": 0.9968,
      "walk_factor": 1.0272,
      "homer_factor": 0.9209,
      "woba_minus_xwoba": -0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "623211",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9806,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9806,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0218,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9367,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9974,
        "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.2,
    "ER": 1,
    "H": 4,
    "BB": 4,
    "SO": 10,
    "HR": 0,
    "ERA": 0.84375,
    "WHIP": 0.75,
    "K9": 8.4375,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-02T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "623211",
  "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.77278348658143,
    "release_spin_rate": 2192.876921548624,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.77278348658143,
      "release_spin_rate": 2192.876921548624,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7728,
    "release_spin_rate": 2192.8769,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2189,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5635,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.854,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6846,
    "prior_weight": 0.3154
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623211",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 46,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.4,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.5
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.75,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 46,
      "totals": {
        "IP": 52.2,
        "ER": 15.0,
        "R": 16.0,
        "H": 30.0,
        "BB": 23.0,
        "SO": 49.0,
        "HR": 3.0,
        "BF": 207.0,
        "Pitches": 815.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3261,
        "R": 0.3478,
        "H": 0.6522,
        "BB": 0.5,
        "SO": 1.0652,
        "HR": 0.0652,
        "BF": 4.5,
        "Pitches": 17.7174
      },
      "rates": {
        "ERA": 2.5633,
        "WHIP": 1.0063,
        "ER_per_IP": 0.28481,
        "H_per_IP": 0.56962,
        "BB_per_IP": 0.43671,
        "SO_per_IP": 0.93038,
        "HR_per_IP": 0.05696
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.225,
    "predicted_H": 0.426,
    "predicted_BB": 0.261,
    "predicted_SO": 0.656,
    "predicted_HR": 0.043,
    "predicted_ERA": 2.5615,
    "predicted_WHIP": 0.8708
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4833,
  "form_weight": 0.5167,
  "form_reliability": 0.6846,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.854,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6846,
    "prior_weight": 0.3154
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.225,
      "final": 0.1163,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.426,
      "final": 0.7034,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.261,
      "final": 0.1349,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.656,
      "final": 0.8222,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.043,
      "final": 0.0222,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5615,
      "final": 2.5615,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8708,
      "final": 0.8708,
      "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."
}
Randal Grichuk (545341) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 226
All-history rows before 20261003: 226
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.3101
Diff (system - data): -0.0241
System opponent_avg: 0.4170
System season_avg diverges from 2026 season-to-date by -0.0241. 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.2391.0001.000Hitting_2B0.2830.0000.7171.000
predicted_3B0.0190.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB2.5005.0004.000Hitting_AB2.7964.0002.2041.000
predicted_AVG0.2860.4000.250Hitting_AVG0.3100.0000.0900.400
predicted_BB0.1050.0000.000Hitting_BB0.1191.000-0.119-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7162.0001.000Hitting_H0.8670.0001.1332.000
predicted_HR0.1340.0000.000Hitting_HR0.1590.000-0.1590.000
predicted_OBP0.3150.4000.250Hitting_OBP0.3410.2000.0590.200
predicted_R0.3721.0000.000Hitting_R0.3890.0000.6111.000
predicted_RBI0.4202.0001.000Hitting_RBI0.5311.0001.4691.000
predicted_SLG0.5570.6000.500Hitting_SLG0.6040.000-0.0040.600
predicted_SO0.5821.0001.000Hitting_SO0.6021.0000.3980.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better)
Biggest Deboostpredicted_HR: 0.1340 -> 0.0000 (deboost -0.1340, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AB: 2.5000 -> 2.6509 (boost 0.1509, better)predicted_SLG: 0.5570 -> 0.5507 (deboost -0.0063, 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_scaling74334predicted_AB: 2.6509 -> 4.0000 (boost 1.3491, better)predicted_2B: 0.2457 -> 0.0000 (deboost -0.2457, worse)AB rounded to 4 (raw=2.65), rates preserved: AVG=0.272 HR/AB=0.051
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)
7consistency_constraints10101-predicted_R: 0.4166 -> 0.0000 (deboost -0.4166, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine43131predicted_2B: 0.0000 -> 0.2612 (boost 0.2612, better)predicted_RBI: 1.0000 -> 0.5055 (deboost -0.4945, 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_allocation42222predicted_2B: 0.2612 -> 1.0000 (boost 0.7388, better)predicted_BB: 0.2185 -> 0.0000 (deboost -0.2185, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-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_reference55050predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4620 -> 0.5493 (boost 0.0873, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "545341",
  "player_name": "Randal Grichuk",
  "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.239,
        "predicted_3B": 0.019,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.105,
        "predicted_H": 0.716,
        "predicted_HR": 0.134,
        "predicted_OBP": 0.315,
        "predicted_R": 0.372,
        "predicted_RBI": 0.42,
        "predicted_SLG": 0.557,
        "predicted_SO": 0.582
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2457,
        "predicted_3B": 0.0228,
        "predicted_AB": 2.6509,
        "predicted_AVG": 0.2865,
        "predicted_BB": 0.1223,
        "predicted_H": 0.7602,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1361,
        "predicted_OBP": 0.3153,
        "predicted_R": 0.4192,
        "predicted_RBI": 0.4727,
        "predicted_SLG": 0.5507,
        "predicted_SO": 0.5668
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.239,
          "after": 0.2457,
          "delta": 0.0067,
          "percent_delta": 0.028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0228,
          "delta": 0.0038,
          "percent_delta": 0.2,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6509,
          "delta": 0.1509,
          "percent_delta": 0.0604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2865,
          "delta": 0.0005,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.105,
          "after": 0.1223,
          "delta": 0.0173,
          "percent_delta": 0.1648,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.716,
          "after": 0.7602,
          "delta": 0.0442,
          "percent_delta": 0.0617,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.134,
          "after": 0.1361,
          "delta": 0.0021,
          "percent_delta": 0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3153,
          "delta": 0.0003,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.372,
          "after": 0.4192,
          "delta": 0.0472,
          "percent_delta": 0.1269,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.42,
          "after": 0.4727,
          "delta": 0.0527,
          "percent_delta": 0.1255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.557,
          "after": 0.5507,
          "delta": -0.0063,
          "percent_delta": -0.0113,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.582,
          "after": 0.5668,
          "delta": -0.0152,
          "percent_delta": -0.0261,
          "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_AB",
          "before": 2.5,
          "after": 2.6509,
          "delta": 0.1509,
          "percent_delta": 0.0604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.557,
          "after": 0.5507,
          "delta": -0.0063,
          "percent_delta": -0.0113,
          "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": 111
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2457,
        "predicted_3B": 0.0228,
        "predicted_AB": 2.6509,
        "predicted_AVG": 0.2856,
        "predicted_BB": 0.1226,
        "predicted_H": 0.7571,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1359,
        "predicted_OBP": 0.3172,
        "predicted_R": 0.4166,
        "predicted_RBI": 0.4698,
        "predicted_SLG": 0.5493,
        "predicted_SO": 0.5654
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2457,
          "after": 0.2457,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0228,
          "after": 0.0228,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6509,
          "after": 2.6509,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2865,
          "after": 0.2856,
          "delta": -0.0009,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1223,
          "after": 0.1226,
          "delta": 0.0003,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7602,
          "after": 0.7571,
          "delta": -0.0031,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.008,
          "after": 0.008,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1361,
          "after": 0.1359,
          "delta": -0.0002,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3153,
          "after": 0.3172,
          "delta": 0.0019,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4192,
          "after": 0.4166,
          "delta": -0.0026,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4727,
          "after": 0.4698,
          "delta": -0.0029,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5507,
          "after": 0.5493,
          "delta": -0.0014,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.5668,
          "after": 0.5654,
          "delta": -0.0014,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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=2.65), rates preserved: AVG=0.272 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.2457,
          "after": 0.0,
          "delta": -0.2457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0228,
          "after": 0.0,
          "delta": -0.0228,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6509,
          "after": 4.0,
          "delta": 1.3491,
          "percent_delta": 0.5089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1226,
          "after": 0.0,
          "delta": -0.1226,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7571,
          "after": 1.0,
          "delta": 0.2429,
          "percent_delta": 0.3208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1359,
          "after": 0.0,
          "delta": -0.1359,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4698,
          "after": 1.0,
          "delta": 0.5302,
          "percent_delta": 1.1286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5654,
          "after": 1.0,
          "delta": 0.4346,
          "percent_delta": 0.7687,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6509,
          "after": 4.0,
          "delta": 1.3491,
          "percent_delta": 0.5089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2457,
          "after": 0.0,
          "delta": -0.2457,
          "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.417)",
      "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.4166,
          "after": 0.0,
          "delta": -0.4166,
          "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.4166,
          "after": 0.0,
          "delta": -0.4166,
          "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.2612,
        "predicted_3B": 0.0198,
        "predicted_BB": 0.2185,
        "predicted_H": 0.9769,
        "predicted_HR": 0.1417,
        "predicted_RBI": 0.5055,
        "predicted_SO": 0.958
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2612,
          "delta": 0.2612,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0198,
          "delta": 0.0198,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2185,
          "delta": 0.2185,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9769,
          "delta": -0.0231,
          "percent_delta": -0.0231,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1417,
          "delta": 0.1417,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5055,
          "delta": -0.4945,
          "percent_delta": -0.4945,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.958,
          "delta": -0.042,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2612,
          "delta": 0.2612,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5055,
          "delta": -0.4945,
          "percent_delta": -0.4945,
          "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.2612,
          "after": 1.0,
          "delta": 0.7388,
          "percent_delta": 2.8285,
          "direction": "boost",
          "projection_effect": "better",
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2185,
          "after": 0.0,
          "delta": -0.2185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9769,
          "after": 1.0,
          "delta": 0.0231,
          "percent_delta": 0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1417,
          "after": 0.0,
          "delta": -0.1417,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5055,
          "after": 1.0,
          "delta": 0.4945,
          "percent_delta": 0.9782,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.958,
          "after": 1.0,
          "delta": 0.042,
          "percent_delta": 0.0438,
          "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_2B",
          "before": 0.2612,
          "after": 1.0,
          "delta": 0.7388,
          "percent_delta": 2.8285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2185,
          "after": 0.0,
          "delta": -0.2185,
          "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.265,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.462,
        "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.2856,
          "after": 0.265,
          "delta": -0.0206,
          "percent_delta": -0.0721,
          "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.3172,
          "after": 0.312,
          "delta": -0.0052,
          "percent_delta": -0.0164,
          "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.5493,
          "after": 0.462,
          "delta": -0.0873,
          "percent_delta": -0.1589,
          "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_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": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2856,
        "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.3172,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5493,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2856,
          "delta": 0.0206,
          "percent_delta": 0.0777,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.312,
          "after": 0.3172,
          "delta": 0.0052,
          "percent_delta": 0.0166,
          "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.462,
          "after": 0.5493,
          "delta": 0.0873,
          "percent_delta": 0.1889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.5493,
          "delta": 0.0873,
          "percent_delta": 0.1889,
          "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.239,
        "after": 1.0,
        "delta": 0.761,
        "percent_delta": 3.1841,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 5.0,
        "delta": 2.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.286,
        "after": 0.2856,
        "delta": -0.0004,
        "percent_delta": -0.0014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.105,
        "after": 0.0,
        "delta": -0.105,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.716,
        "after": 2.0,
        "delta": 1.284,
        "percent_delta": 1.7933,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.134,
        "after": 0.0,
        "delta": -0.134,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.3172,
        "delta": 0.0022,
        "percent_delta": 0.007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.372,
        "after": 1.0,
        "delta": 0.628,
        "percent_delta": 1.6882,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.42,
        "after": 2.0,
        "delta": 1.58,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.557,
        "after": 0.5493,
        "delta": -0.0077,
        "percent_delta": -0.0138,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.582,
        "after": 1.0,
        "delta": 0.418,
        "percent_delta": 0.7182,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 5.0,
        "delta": 2.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.134,
        "after": 0.0,
        "delta": -0.134,
        "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.239-
predicted_3B0.019-
predicted_AB2.500-
predicted_AVG0.286-
predicted_BB0.105-
predicted_H0.716-
predicted_HR0.134-
predicted_OBP0.315-
predicted_R0.372-
predicted_RBI0.420-
predicted_SLG0.557-
predicted_SO0.582-
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.2460.007
predicted_3B0.0230.004
predicted_AB2.6510.151
predicted_AVG0.2860.001
predicted_BB0.1220.017
predicted_H0.7600.044
predicted_HBP0.008-
predicted_HR0.1360.002
predicted_OBP0.3150.000
predicted_R0.4190.047
predicted_RBI0.4730.053
predicted_SLG0.551-0.006
predicted_SO0.567-0.015
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.2460.000
predicted_3B0.0230.000
predicted_AB2.6510.000
predicted_AVG0.286-0.001
predicted_BB0.1230.000
predicted_H0.757-0.003
predicted_HBP0.0080.000
predicted_HR0.136-0.000
predicted_OBP0.3170.002
predicted_R0.417-0.003
predicted_RBI0.470-0.003
predicted_SLG0.549-0.001
predicted_SO0.565-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=2.65), rates preserved: AVG=0.272 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.417)

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.2610.261
3B0.0200.020
BB0.2180.218
H0.977-0.023
HR0.1420.142
RBI0.505-0.495
SO0.958-0.042
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.739
3B0.000-0.020
AB4.0000.000
BB0.000-0.218
H1.0000.023
HR0.000-0.142
R0.0000.000
RBI1.0000.495
SO1.0000.042
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.246
predicted_3B0.000-0.023
predicted_AB4.0001.349
predicted_AVG0.265-0.021
predicted_BB0.000-0.123
predicted_H1.0000.243
predicted_HR0.000-0.136
predicted_OBP0.312-0.005
predicted_R0.000-0.417
predicted_RBI1.0000.530
predicted_SLG0.462-0.087
predicted_SO1.0000.435
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.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: 111
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.0005.0002.0000.0001.0005.0004.0001.0002.0000.31250.33330.62500.31250.06250.31250.06250.1250
last_100.2010-35.00010.0002.0001.0001.0006.0006.0002.0004.0000.28570.30770.48570.28570.02860.17140.05710.1143
season0.60111-262.00075.00025.0002.00014.00044.00039.00011.00061.0000.28630.31410.55730.28630.05340.16790.04200.2328
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2550
predicted_3B0.0280
predicted_AB2.8580
predicted_AVG0.2872
predicted_BB0.1460
predicted_H0.8210
predicted_HBP0.0080
predicted_HR0.1390
predicted_OBP0.3156
predicted_R0.4840
predicted_RBI0.5450
predicted_SLG0.5420
predicted_SO0.5460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23900.25500.2457model_form_blend
predicted_3B0.01900.02800.0228model_form_blend
predicted_AB2.50002.85802.6509model_form_blend
predicted_AVG0.28600.28720.2865model_form_blend
predicted_BB0.10500.14600.1223model_form_blend
predicted_H0.71600.82100.7602model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.13400.13900.1361model_form_blend
predicted_OBP0.31500.31560.3153model_form_blend
predicted_R0.37200.48400.4192model_form_blend
predicted_RBI0.42000.54500.4727model_form_blend
predicted_SLG0.55700.54200.5507model_form_blend
predicted_SO0.58200.54600.5668model_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 date226
Season rows before report date226
Report year2026
Profile rows used111
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
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.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R0
Hitting_RBI1
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
allPositionsPlayedLF-RF
gameID20260926_COL@CHW
game_typefull
mlbID545341
playerID545341
playerNameRandal Grichuk
posDH
startedTrue
startingPositionLF
teamCHW
teamID6
game_date2026-09-26
sl_k_percent21.8
sl_bb_percent3.9
sl_woba0.37
sl_xwoba0.335
sl_xba0.278
sl_xslg0.478
sl_sweet_spot_percent37.7
sl_barrel_batted_rate11.2
sl_hard_hit_percent49.8
sl_exit_velocity_avg91.3
sl_launch_angle_avg17.1
sl_whiff_percent24.0
sl_swing_percent53.0
Munetaka Murakami (808959) · BATTER · 1B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 515
All-history rows before 20261003: 515
System season_avg: 0.2060
Data season_avg (2026 season-to-date): 0.2103
Diff (system - data): -0.0043
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.1240.0000.000Hitting_2B0.1320.000-0.1320.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5815.0004.000Hitting_AB3.6835.0001.3170.000
predicted_AVG0.2060.4000.250Hitting_AVG0.2100.0000.1900.400
predicted_BB0.7210.0001.000Hitting_BB0.7810.000-0.7810.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7362.0001.000Hitting_H0.7750.0001.2252.000
predicted_HR0.2710.0001.000Hitting_HR0.2910.000-0.2910.000
predicted_OBP0.3390.4000.400Hitting_OBP0.3540.0000.0460.400
predicted_R0.6511.0001.000Hitting_R0.7110.0000.2891.000
predicted_RBI0.6050.0001.000Hitting_RBI0.6190.000-0.6190.000
predicted_SLG0.4720.4001.000Hitting_SLG0.4880.000-0.0880.400
predicted_SO1.5580.0002.000Hitting_SO1.5793.000-1.579-3.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_AB: 3.5810 -> 5.0000 (boost 1.4190, better)
Biggest Deboostpredicted_SO: 1.5580 -> 0.0000 (deboost -1.5580, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_AB: 3.5810 -> 3.6554 (boost 0.0744, better)predicted_BB: 0.7210 -> 0.6557 (deboost -0.0653, 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_scaling85344predicted_SO: 1.5625 -> 2.0000 (boost 0.4375, worse)predicted_HR: 0.2802 -> 0.0000 (deboost -0.2802, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.201 HR/AB=0.077
6consistency_constraints11010predicted_R: 0.6743 -> 1.0000 (boost 0.3257, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.1922 (boost 0.1922, better)predicted_BB: 1.0000 -> 0.5336 (deboost -0.4664, 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_allocation65142predicted_HR: 0.1922 -> 1.0000 (boost 0.8078, better)predicted_2B: 0.1472 -> 0.0000 (deboost -0.1472, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_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
10simulation_box_score_reference52332predicted_AB: 4.0000 -> 5.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_final22020predicted_SLG: 0.4090 -> 0.4822 (boost 0.0732, 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.124,
        "predicted_3B": 0.008,
        "predicted_AB": 3.581,
        "predicted_AVG": 0.206,
        "predicted_BB": 0.721,
        "predicted_H": 0.736,
        "predicted_HR": 0.271,
        "predicted_OBP": 0.339,
        "predicted_R": 0.651,
        "predicted_RBI": 0.605,
        "predicted_SLG": 0.472,
        "predicted_SO": 1.558
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1371,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6554,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.6557,
        "predicted_H": 0.7747,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2806,
        "predicted_OBP": 0.3339,
        "predicted_R": 0.6784,
        "predicted_RBI": 0.6498,
        "predicted_SLG": 0.4833,
        "predicted_SO": 1.5663
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.124,
          "after": 0.1371,
          "delta": 0.0131,
          "percent_delta": 0.1056,
          "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": 3.581,
          "after": 3.6554,
          "delta": 0.0744,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.206,
          "after": 0.212,
          "delta": 0.006,
          "percent_delta": 0.0291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.721,
          "after": 0.6557,
          "delta": -0.0653,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.736,
          "after": 0.7747,
          "delta": 0.0387,
          "percent_delta": 0.0526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.271,
          "after": 0.2806,
          "delta": 0.0096,
          "percent_delta": 0.0354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3339,
          "delta": -0.0051,
          "percent_delta": -0.015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.651,
          "after": 0.6784,
          "delta": 0.0274,
          "percent_delta": 0.0421,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.605,
          "after": 0.6498,
          "delta": 0.0448,
          "percent_delta": 0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.472,
          "after": 0.4833,
          "delta": 0.0113,
          "percent_delta": 0.0239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.558,
          "after": 1.5663,
          "delta": 0.0083,
          "percent_delta": 0.0053,
          "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_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_BB",
          "before": 0.721,
          "after": 0.6557,
          "delta": -0.0653,
          "percent_delta": -0.0906,
          "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.1371,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6554,
        "predicted_AVG": 0.2111,
        "predicted_BB": 0.6573,
        "predicted_H": 0.7715,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2802,
        "predicted_OBP": 0.3313,
        "predicted_R": 0.6743,
        "predicted_RBI": 0.6458,
        "predicted_SLG": 0.4822,
        "predicted_SO": 1.5625
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1371,
          "after": 0.1371,
          "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": 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.212,
          "after": 0.2111,
          "delta": -0.0009,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6557,
          "after": 0.6573,
          "delta": 0.0016,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7747,
          "after": 0.7715,
          "delta": -0.0032,
          "percent_delta": -0.0041,
          "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.2806,
          "after": 0.2802,
          "delta": -0.0004,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3339,
          "after": 0.3313,
          "delta": -0.0026,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6784,
          "after": 0.6743,
          "delta": -0.0041,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6498,
          "after": 0.6458,
          "delta": -0.004,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4833,
          "after": 0.4822,
          "delta": -0.0011,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.5663,
          "after": 1.5625,
          "delta": -0.0038,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "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.201 HR/AB=0.077",
      "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.1371,
          "after": 0.0,
          "delta": -0.1371,
          "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": 3.6554,
          "after": 4.0,
          "delta": 0.3446,
          "percent_delta": 0.0943,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6573,
          "after": 1.0,
          "delta": 0.3427,
          "percent_delta": 0.5214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7715,
          "after": 1.0,
          "delta": 0.2285,
          "percent_delta": 0.2962,
          "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.2802,
          "after": 0.0,
          "delta": -0.2802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6458,
          "after": 1.0,
          "delta": 0.3542,
          "percent_delta": 0.5485,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5625,
          "after": 2.0,
          "delta": 0.4375,
          "percent_delta": 0.28,
          "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.5625,
          "after": 2.0,
          "delta": 0.4375,
          "percent_delta": 0.28,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2802,
          "after": 0.0,
          "delta": -0.2802,
          "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.6743,
          "after": 1.0,
          "delta": 0.3257,
          "percent_delta": 0.483,
          "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.6743,
          "after": 1.0,
          "delta": 0.3257,
          "percent_delta": 0.483,
          "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.1472,
        "predicted_3B": 0.013,
        "predicted_BB": 0.5336,
        "predicted_H": 0.7902,
        "predicted_HR": 0.1922,
        "predicted_RBI": 0.557,
        "predicted_SO": 1.7013
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1472,
          "delta": 0.1472,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.013,
          "delta": 0.013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5336,
          "delta": -0.4664,
          "percent_delta": -0.4664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7902,
          "delta": -0.2098,
          "percent_delta": -0.2098,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1922,
          "delta": 0.1922,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.557,
          "delta": -0.443,
          "percent_delta": -0.443,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.7013,
          "delta": -0.2987,
          "percent_delta": -0.1493,
          "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.1922,
          "delta": 0.1922,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5336,
          "delta": -0.4664,
          "percent_delta": -0.4664,
          "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1472,
          "after": 0.0,
          "delta": -0.1472,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5336,
          "after": 1.0,
          "delta": 0.4664,
          "percent_delta": 0.8741,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7902,
          "after": 1.0,
          "delta": 0.2098,
          "percent_delta": 0.2655,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1922,
          "after": 1.0,
          "delta": 0.8078,
          "percent_delta": 4.2029,
          "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.557,
          "after": 1.0,
          "delta": 0.443,
          "percent_delta": 0.7953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7013,
          "after": 2.0,
          "delta": 0.2987,
          "percent_delta": 0.1756,
          "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.1922,
          "after": 1.0,
          "delta": 0.8078,
          "percent_delta": 4.2029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1472,
          "after": 0.0,
          "delta": -0.1472,
          "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": 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.409,
        "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.2111,
          "after": 0.21,
          "delta": -0.0011,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3313,
          "after": 0.313,
          "delta": -0.0183,
          "percent_delta": -0.0552,
          "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.4822,
          "after": 0.409,
          "delta": -0.0732,
          "percent_delta": -0.1518,
          "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_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": 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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "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_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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2111,
        "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.3313,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4822,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2111,
          "delta": 0.0011,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.313,
          "after": 0.3313,
          "delta": 0.0183,
          "percent_delta": 0.0585,
          "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.409,
          "after": 0.4822,
          "delta": 0.0732,
          "percent_delta": 0.1789,
          "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.409,
          "after": 0.4822,
          "delta": 0.0732,
          "percent_delta": 0.1789,
          "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.124,
        "after": 0.0,
        "delta": -0.124,
        "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.581,
        "after": 5.0,
        "delta": 1.419,
        "percent_delta": 0.3963,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.206,
        "after": 0.2111,
        "delta": 0.0051,
        "percent_delta": 0.0248,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.721,
        "after": 0.0,
        "delta": -0.721,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.736,
        "after": 2.0,
        "delta": 1.264,
        "percent_delta": 1.7174,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.271,
        "after": 0.0,
        "delta": -0.271,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.3313,
        "delta": -0.0077,
        "percent_delta": -0.0227,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.651,
        "after": 1.0,
        "delta": 0.349,
        "percent_delta": 0.5361,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.605,
        "after": 0.0,
        "delta": -0.605,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.472,
        "after": 0.4822,
        "delta": 0.0102,
        "percent_delta": 0.0216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.558,
        "after": 0.0,
        "delta": -1.558,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.581,
        "after": 5.0,
        "delta": 1.419,
        "percent_delta": 0.3963,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.558,
        "after": 0.0,
        "delta": -1.558,
        "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.124-
predicted_3B0.008-
predicted_AB3.581-
predicted_AVG0.206-
predicted_BB0.721-
predicted_H0.736-
predicted_HR0.271-
predicted_OBP0.339-
predicted_R0.651-
predicted_RBI0.605-
predicted_SLG0.472-
predicted_SO1.558-
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.1370.013
predicted_3B0.007-0.001
predicted_AB3.6550.074
predicted_AVG0.2120.006
predicted_BB0.656-0.065
predicted_H0.7750.039
predicted_HBP0.067-
predicted_HR0.2810.010
predicted_OBP0.334-0.005
predicted_R0.6780.027
predicted_RBI0.6500.045
predicted_SLG0.4830.011
predicted_SO1.5660.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.1370.000
predicted_3B0.0070.000
predicted_AB3.6550.000
predicted_AVG0.211-0.001
predicted_BB0.6570.002
predicted_H0.771-0.003
predicted_HBP0.0670.000
predicted_HR0.280-0.000
predicted_OBP0.331-0.003
predicted_R0.674-0.004
predicted_RBI0.646-0.004
predicted_SLG0.482-0.001
predicted_SO1.562-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.66), rates preserved: AVG=0.201 HR/AB=0.077

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.0130.013
BB0.534-0.466
H0.790-0.210
HR0.1920.192
RBI0.557-0.443
SO1.701-0.299
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.013
AB4.0000.000
BB1.0000.466
H1.0000.210
HR1.0000.808
R1.0000.000
RBI1.0000.443
SO2.0000.299
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.137
predicted_3B0.000-0.007
predicted_AB4.0000.345
predicted_AVG0.210-0.001
predicted_BB1.0000.343
predicted_H1.0000.229
predicted_HR0.000-0.280
predicted_OBP0.313-0.018
predicted_R1.0000.326
predicted_RBI1.0000.354
predicted_SLG0.409-0.073
predicted_SO2.0000.438
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
H2.0001.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R1.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: 129
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.0005.0001.0000.0002.0004.0005.0001.0009.0000.23810.26090.57140.23810.09520.19050.04760.4286
last_100.2010-38.0009.0002.0000.0003.00010.0007.0005.00016.0000.23680.34780.52630.23680.07900.26320.13160.4210
season0.60129-462.00095.00016.0001.00035.00078.00084.00093.000201.0000.20560.34460.47190.20560.07580.16880.20130.4351
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1540
predicted_3B0.0050
predicted_AB3.7520
predicted_AVG0.2199
predicted_BB0.5710
predicted_H0.8250
predicted_HBP0.0670
predicted_HR0.2930
predicted_OBP0.3273
predicted_R0.7140
predicted_RBI0.7080
predicted_SLG0.4979
predicted_SO1.5770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12400.15400.1371model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.58103.75203.6554model_form_blend
predicted_AVG0.20600.21990.2120model_form_blend
predicted_BB0.72100.57100.6557model_form_blend
predicted_H0.73600.82500.7747model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.27100.29300.2806model_form_blend
predicted_OBP0.33900.32730.3339model_form_blend
predicted_R0.65100.71400.6784model_form_blend
predicted_RBI0.60500.70800.6498model_form_blend
predicted_SLG0.47200.49790.4833model_form_blend
predicted_SO1.55801.57701.5663model_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 date515
Season rows before report date515
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
PA5
AB5
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_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
allPositionsPlayed1B
gameID20260930_CHW@HOU
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-09-30
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
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 622
All-history rows before 20261003: 622
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2788
Diff (system - data): 0.0002
System opponent_avg: 0.2670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2000.0001.000Hitting_2B0.2040.000-0.2040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0805.0004.000Hitting_AB3.7723.0001.2282.000
predicted_AVG0.3320.0000.250Hitting_AVG0.2790.667-0.279-0.667
predicted_BB0.3940.0001.000Hitting_BB0.4361.000-0.436-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H1.3600.0001.000Hitting_H1.0512.000-1.051-2.000
predicted_HR0.2400.0000.000Hitting_HR0.1141.000-0.114-1.000
predicted_OBP0.4100.0000.400Hitting_OBP0.3570.750-0.357-0.750
predicted_R0.5940.0001.000Hitting_R0.6271.000-0.627-1.000
predicted_RBI0.8400.0000.000Hitting_RBI0.4343.000-0.434-3.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.5670.0000.500Hitting_SLG0.4241.667-0.424-1.667
predicted_SO0.9101.0001.000Hitting_SO0.9360.0000.0641.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_AB: 4.0800 -> 5.0000 (boost 0.9200, better)
Biggest Deboostpredicted_H: 1.3600 -> 0.0000 (deboost -1.3600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41322predicted_AVG: 0.3320 -> 0.3431 (boost 0.0111, better)predicted_AB: 4.0800 -> 3.8484 (deboost -0.2316, 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.4138 -> 0.3989 (deboost -0.0149, 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.7511 -> 1.0000 (boost 0.2489, better)predicted_BB: 0.3669 -> 0.0000 (deboost -0.3669, worse)AB rounded to 4 (raw=4.08), rates preserved: AVG=0.307 HR/AB=0.051
6bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
7consistency_constraints11010predicted_R: 0.6164 -> 1.0000 (boost 0.3836, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3804 (boost 0.3804, better)predicted_RBI: 1.0000 -> 0.3879 (deboost -0.6121, 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_allocation53232predicted_2B: 0.2037 -> 1.0000 (boost 0.7963, better)predicted_RBI: 0.3879 -> 0.0000 (deboost -0.3879, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context61515predicted_RBI: 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_reference41313predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3890 -> 0.5608 (boost 0.1718, better)-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.2,
        "predicted_3B": 0.0,
        "predicted_AB": 4.08,
        "predicted_AVG": 0.332,
        "predicted_BB": 0.394,
        "predicted_H": 1.36,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.41,
        "predicted_R": 0.594,
        "predicted_RBI": 0.84,
        "predicted_SLG": 0.567,
        "predicted_SO": 0.91
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2184,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8484,
        "predicted_AVG": 0.3431,
        "predicted_BB": 0.366,
        "predicted_H": 1.3198,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.2085,
        "predicted_OBP": 0.4138,
        "predicted_R": 0.6202,
        "predicted_RBI": 0.7557,
        "predicted_SLG": 0.5674,
        "predicted_SO": 0.8361
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.2184,
          "delta": 0.0184,
          "percent_delta": 0.092,
          "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.08,
          "after": 3.8484,
          "delta": -0.2316,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.332,
          "after": 0.3431,
          "delta": 0.0111,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.394,
          "after": 0.366,
          "delta": -0.028,
          "percent_delta": -0.0711,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.36,
          "after": 1.3198,
          "delta": -0.0402,
          "percent_delta": -0.0296,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2085,
          "delta": -0.0315,
          "percent_delta": -0.1313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.41,
          "after": 0.4138,
          "delta": 0.0038,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.594,
          "after": 0.6202,
          "delta": 0.0262,
          "percent_delta": 0.0441,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.84,
          "after": 0.7557,
          "delta": -0.0843,
          "percent_delta": -0.1004,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.567,
          "after": 0.5674,
          "delta": 0.0004,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.91,
          "after": 0.8361,
          "delta": -0.0739,
          "percent_delta": -0.0812,
          "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_AVG",
          "before": 0.332,
          "after": 0.3431,
          "delta": 0.0111,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 3.8484,
          "delta": -0.2316,
          "percent_delta": -0.0568,
          "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": 155
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2184,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8484,
        "predicted_AVG": 0.3415,
        "predicted_BB": 0.3669,
        "predicted_H": 1.3144,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.2082,
        "predicted_OBP": 0.3989,
        "predicted_R": 0.6164,
        "predicted_RBI": 0.7511,
        "predicted_SLG": 0.5608,
        "predicted_SO": 0.8341
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2184,
          "after": 0.2184,
          "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.8484,
          "after": 3.8484,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3431,
          "after": 0.3415,
          "delta": -0.0016,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.366,
          "after": 0.3669,
          "delta": 0.0009,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3198,
          "after": 1.3144,
          "delta": -0.0054,
          "percent_delta": -0.0041,
          "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.2085,
          "after": 0.2082,
          "delta": -0.0003,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4138,
          "after": 0.3989,
          "delta": -0.0149,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6202,
          "after": 0.6164,
          "delta": -0.0038,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7557,
          "after": 0.7511,
          "delta": -0.0046,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5674,
          "after": 0.5608,
          "delta": -0.0066,
          "percent_delta": -0.0116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8361,
          "after": 0.8341,
          "delta": -0.002,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4138,
          "after": 0.3989,
          "delta": -0.0149,
          "percent_delta": -0.036,
          "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.307 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.2184,
          "after": 0.0,
          "delta": -0.2184,
          "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.8484,
          "after": 4.0,
          "delta": 0.1516,
          "percent_delta": 0.0394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3669,
          "after": 0.0,
          "delta": -0.3669,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3144,
          "after": 1.0,
          "delta": -0.3144,
          "percent_delta": -0.2392,
          "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.2082,
          "after": 0.0,
          "delta": -0.2082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7511,
          "after": 1.0,
          "delta": 0.2489,
          "percent_delta": 0.3314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8341,
          "after": 1.0,
          "delta": 0.1659,
          "percent_delta": 0.1989,
          "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.7511,
          "after": 1.0,
          "delta": 0.2489,
          "percent_delta": 0.3314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3669,
          "after": 0.0,
          "delta": -0.3669,
          "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.267)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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.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": 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.6164,
          "after": 1.0,
          "delta": 0.3836,
          "percent_delta": 0.6223,
          "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.6164,
          "after": 1.0,
          "delta": 0.3836,
          "percent_delta": 0.6223,
          "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.2037,
        "predicted_3B": 0.0077,
        "predicted_BB": 0.3804,
        "predicted_H": 0.9469,
        "predicted_HR": 0.0956,
        "predicted_RBI": 0.3879,
        "predicted_SO": 0.9979
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2037,
          "delta": 0.2037,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0077,
          "delta": 0.0077,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3804,
          "delta": 0.3804,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9469,
          "delta": -0.0531,
          "percent_delta": -0.0531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0956,
          "delta": 0.0956,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3879,
          "delta": -0.6121,
          "percent_delta": -0.6121,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9979,
          "delta": -0.0021,
          "percent_delta": -0.0021,
          "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.3804,
          "delta": 0.3804,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3879,
          "delta": -0.6121,
          "percent_delta": -0.6121,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2037,
          "after": 1.0,
          "delta": 0.7963,
          "percent_delta": 3.9092,
          "direction": "boost",
          "projection_effect": "better",
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3804,
          "after": 1.0,
          "delta": 0.6196,
          "percent_delta": 1.6288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9469,
          "after": 1.0,
          "delta": 0.0531,
          "percent_delta": 0.0561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0956,
          "after": 0.0,
          "delta": -0.0956,
          "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.3879,
          "after": 0.0,
          "delta": -0.3879,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9979,
          "after": 1.0,
          "delta": 0.0021,
          "percent_delta": 0.0021,
          "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.2037,
          "after": 1.0,
          "delta": 0.7963,
          "percent_delta": 3.9092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3879,
          "after": 0.0,
          "delta": -0.3879,
          "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.254,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.389,
        "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.3415,
          "after": 0.254,
          "delta": -0.0875,
          "percent_delta": -0.2562,
          "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.3989,
          "after": 0.328,
          "delta": -0.0709,
          "percent_delta": -0.1777,
          "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.5608,
          "after": 0.389,
          "delta": -0.1718,
          "percent_delta": -0.3063,
          "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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "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_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": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.3415,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3989,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5608,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.254,
          "after": 0.3415,
          "delta": 0.0875,
          "percent_delta": 0.3447,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.328,
          "after": 0.3989,
          "delta": 0.0709,
          "percent_delta": 0.216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.5608,
          "delta": 0.1718,
          "percent_delta": 0.4416,
          "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.389,
          "after": 0.5608,
          "delta": 0.1718,
          "percent_delta": 0.4416,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.08,
        "after": 5.0,
        "delta": 0.92,
        "percent_delta": 0.2255,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.332,
        "after": 0.3415,
        "delta": 0.0095,
        "percent_delta": 0.0286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.394,
        "after": 0.0,
        "delta": -0.394,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.36,
        "after": 0.0,
        "delta": -1.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.41,
        "after": 0.3989,
        "delta": -0.0111,
        "percent_delta": -0.0271,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.594,
        "after": 0.0,
        "delta": -0.594,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.567,
        "after": 0.5608,
        "delta": -0.0062,
        "percent_delta": -0.0109,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 4.08,
        "after": 5.0,
        "delta": 0.92,
        "percent_delta": 0.2255,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.36,
        "after": 0.0,
        "delta": -1.36,
        "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.000-
predicted_AB4.080-
predicted_AVG0.332-
predicted_BB0.394-
predicted_H1.360-
predicted_HR0.240-
predicted_OBP0.410-
predicted_R0.594-
predicted_RBI0.840-
predicted_SLG0.567-
predicted_SO0.910-
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.2180.018
predicted_3B0.0000.000
predicted_AB3.848-0.232
predicted_AVG0.3430.011
predicted_BB0.366-0.028
predicted_H1.320-0.040
predicted_HBP0.043-
predicted_HR0.208-0.032
predicted_OBP0.4140.004
predicted_R0.6200.026
predicted_RBI0.756-0.084
predicted_SLG0.5670.000
predicted_SO0.836-0.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.2180.000
predicted_3B0.0000.000
predicted_AB3.8480.000
predicted_AVG0.342-0.002
predicted_BB0.3670.001
predicted_H1.314-0.005
predicted_HBP0.0430.000
predicted_HR0.208-0.000
predicted_OBP0.399-0.015
predicted_R0.616-0.004
predicted_RBI0.751-0.005
predicted_SLG0.561-0.007
predicted_SO0.834-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.08), rates preserved: AVG=0.307 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=15.0, weight=0.133, BvP AVG=0.267)

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.2040.204
3B0.0080.008
BB0.3800.380
H0.947-0.053
HR0.0960.096
RBI0.388-0.612
SO0.998-0.002
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.796
3B0.000-0.008
AB4.0000.000
BB1.0000.620
H1.0000.053
HR0.000-0.096
R1.0000.000
RBI0.000-0.388
SO1.0000.002
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.218
predicted_3B0.000-0.000
predicted_AB4.0000.152
predicted_AVG0.254-0.088
predicted_BB0.000-0.367
predicted_H1.000-0.314
predicted_HR0.000-0.208
predicted_OBP0.328-0.071
predicted_R1.0000.384
predicted_RBI1.0000.249
predicted_SLG0.389-0.172
predicted_SO1.0000.166
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.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.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: 155
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-16.0009.0002.0000.0001.0004.0003.0001.0002.0000.56250.58820.87500.56250.06250.25000.06250.1250
last_100.2010-34.00014.0002.0000.0003.00011.0009.0003.0006.0000.41180.47370.73530.41180.08820.32350.08820.1765
season0.60155-573.000160.00031.0000.00017.00067.00092.00061.000141.0000.27920.35250.42230.27920.02970.11690.10650.2461
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2420
predicted_3B0.0010
predicted_AB3.5500
predicted_AVG0.3573
predicted_BB0.3300
predicted_H1.2680
predicted_HBP0.0430
predicted_HR0.1680
predicted_OBP0.4186
predicted_R0.6540
predicted_RBI0.6470
predicted_SLG0.5680
predicted_SO0.7410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.24200.2184model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.08003.55003.8484model_form_blend
predicted_AVG0.33200.35730.3431model_form_blend
predicted_BB0.39400.33000.3660model_form_blend
predicted_H1.36001.26801.3198model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.24000.16800.2085model_form_blend
predicted_OBP0.41000.41860.4138model_form_blend
predicted_R0.59400.65400.6202model_form_blend
predicted_RBI0.84000.64700.7557model_form_blend
predicted_SLG0.56700.56800.5674model_form_blend
predicted_SO0.91000.74100.8361model_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 date622
Season rows before report date622
Report year2026
Profile rows used155
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
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_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
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
allPositionsPlayed2B
gameID20260930_CHW@HOU
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-09-30
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
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 673
All-history rows before 20261003: 673
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2519
Diff (system - data): -0.0059
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.1940.0000.000Hitting_2B0.2100.000-0.2100.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.7704.0004.000Hitting_AB3.8165.0000.184-1.000
predicted_AVG0.2140.0000.250Hitting_AVG0.2520.000-0.2520.000
predicted_BB0.6311.0001.000Hitting_BB0.6390.0000.3611.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H1.0200.0001.000Hitting_H0.9610.000-0.9610.000
predicted_HR0.2000.0000.000Hitting_HR0.2170.000-0.2170.000
predicted_OBP0.3310.2000.400Hitting_OBP0.3630.000-0.1630.200
predicted_R0.6690.0001.000Hitting_R0.7091.000-0.709-1.000
predicted_RBI0.7300.0000.000Hitting_RBI0.5880.000-0.5880.000
predicted_SLG0.3850.0000.250Hitting_SLG0.4810.000-0.4810.000
predicted_SO0.8062.0001.000Hitting_SO0.8142.0001.1860.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.8060 -> 2.0000 (boost 1.1940, worse)
Biggest Deboostpredicted_H: 1.0200 -> 0.0000 (deboost -1.0200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53223predicted_BB: 0.6310 -> 0.6959 (boost 0.0649, better)predicted_AB: 4.7700 -> 4.3108 (deboost -0.4592, 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.3385 -> 0.3229 (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_scaling73425predicted_RBI: 0.6881 -> 1.0000 (boost 0.3119, better)predicted_BB: 0.6976 -> 0.0000 (deboost -0.6976, worse)AB rounded to 4 (raw=4.77), rates preserved: AVG=0.184 HR/AB=0.038
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)
7consistency_constraints11010predicted_R: 0.7089 -> 1.0000 (boost 0.2911, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.5533 (boost 0.5533, better)predicted_RBI: 1.0000 -> 0.4893 (deboost -0.5107, 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_allocation63324predicted_BB: 0.5533 -> 1.0000 (boost 0.4467, better)predicted_RBI: 0.4893 -> 0.0000 (deboost -0.4893, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_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
11simulation_box_score_reference52314predicted_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
12current_json_final20202-predicted_SLG: 0.4050 -> 0.3827 (deboost -0.0223, worse)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.194,
        "predicted_3B": 0.006,
        "predicted_AB": 4.77,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.631,
        "predicted_H": 1.02,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.331,
        "predicted_R": 0.669,
        "predicted_RBI": 0.73,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.806
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1695,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.3108,
        "predicted_AVG": 0.2143,
        "predicted_BB": 0.6959,
        "predicted_H": 0.9232,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1838,
        "predicted_OBP": 0.3385,
        "predicted_R": 0.7133,
        "predicted_RBI": 0.6923,
        "predicted_SLG": 0.3853,
        "predicted_SO": 0.8638
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1695,
          "delta": -0.0245,
          "percent_delta": -0.1263,
          "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.77,
          "after": 4.3108,
          "delta": -0.4592,
          "percent_delta": -0.0963,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.2143,
          "delta": 0.0003,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.631,
          "after": 0.6959,
          "delta": 0.0649,
          "percent_delta": 0.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 0.9232,
          "delta": -0.0968,
          "percent_delta": -0.0949,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.1838,
          "delta": -0.0162,
          "percent_delta": -0.081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3385,
          "delta": 0.0075,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.669,
          "after": 0.7133,
          "delta": 0.0443,
          "percent_delta": 0.0662,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.73,
          "after": 0.6923,
          "delta": -0.0377,
          "percent_delta": -0.0516,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.3853,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.806,
          "after": 0.8638,
          "delta": 0.0578,
          "percent_delta": 0.0717,
          "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.631,
          "after": 0.6959,
          "delta": 0.0649,
          "percent_delta": 0.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.77,
          "after": 4.3108,
          "delta": -0.4592,
          "percent_delta": -0.0963,
          "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.1695,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.3108,
        "predicted_AVG": 0.2133,
        "predicted_BB": 0.6976,
        "predicted_H": 0.9194,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1835,
        "predicted_OBP": 0.3229,
        "predicted_R": 0.7089,
        "predicted_RBI": 0.6881,
        "predicted_SLG": 0.3827,
        "predicted_SO": 0.8617
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1695,
          "after": 0.1695,
          "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.3108,
          "after": 4.3108,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2143,
          "after": 0.2133,
          "delta": -0.001,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6959,
          "after": 0.6976,
          "delta": 0.0017,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9232,
          "after": 0.9194,
          "delta": -0.0038,
          "percent_delta": -0.0041,
          "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.1838,
          "after": 0.1835,
          "delta": -0.0003,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3385,
          "after": 0.3229,
          "delta": -0.0156,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7133,
          "after": 0.7089,
          "delta": -0.0044,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6923,
          "after": 0.6881,
          "delta": -0.0042,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3853,
          "after": 0.3827,
          "delta": -0.0026,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8638,
          "after": 0.8617,
          "delta": -0.0021,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3385,
          "after": 0.3229,
          "delta": -0.0156,
          "percent_delta": -0.0461,
          "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.77), rates preserved: AVG=0.184 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.1695,
          "after": 0.0,
          "delta": -0.1695,
          "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.3108,
          "after": 4.0,
          "delta": -0.3108,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6976,
          "after": 0.0,
          "delta": -0.6976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9194,
          "after": 1.0,
          "delta": 0.0806,
          "percent_delta": 0.0877,
          "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.1835,
          "after": 0.0,
          "delta": -0.1835,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6881,
          "after": 1.0,
          "delta": 0.3119,
          "percent_delta": 0.4533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8617,
          "after": 1.0,
          "delta": 0.1383,
          "percent_delta": 0.1605,
          "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.6881,
          "after": 1.0,
          "delta": 0.3119,
          "percent_delta": 0.4533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.6976,
          "after": 0.0,
          "delta": -0.6976,
          "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": 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.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": 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.7089,
          "after": 1.0,
          "delta": 0.2911,
          "percent_delta": 0.4106,
          "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.7089,
          "after": 1.0,
          "delta": 0.2911,
          "percent_delta": 0.4106,
          "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.1771,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.5533,
        "predicted_H": 0.8371,
        "predicted_HR": 0.1678,
        "predicted_RBI": 0.4893,
        "predicted_SO": 0.8633
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1771,
          "delta": 0.1771,
          "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.5533,
          "delta": 0.5533,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8371,
          "delta": -0.1629,
          "percent_delta": -0.1629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1678,
          "delta": 0.1678,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4893,
          "delta": -0.5107,
          "percent_delta": -0.5107,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8633,
          "delta": -0.1367,
          "percent_delta": -0.1367,
          "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.5533,
          "delta": 0.5533,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4893,
          "delta": -0.5107,
          "percent_delta": -0.5107,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1771,
          "after": 0.0,
          "delta": -0.1771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0097,
          "after": 0.0,
          "delta": -0.0097,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5533,
          "after": 1.0,
          "delta": 0.4467,
          "percent_delta": 0.8073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8371,
          "after": 1.0,
          "delta": 0.1629,
          "percent_delta": 0.1946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1678,
          "after": 0.0,
          "delta": -0.1678,
          "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.4893,
          "after": 0.0,
          "delta": -0.4893,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8633,
          "after": 1.0,
          "delta": 0.1367,
          "percent_delta": 0.1583,
          "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.5533,
          "after": 1.0,
          "delta": 0.4467,
          "percent_delta": 0.8073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4893,
          "after": 0.0,
          "delta": -0.4893,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "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.2133,
          "after": 0.221,
          "delta": 0.0077,
          "percent_delta": 0.0361,
          "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.3229,
          "after": 0.325,
          "delta": 0.0021,
          "percent_delta": 0.0065,
          "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_SLG",
          "before": 0.3827,
          "after": 0.405,
          "delta": 0.0223,
          "percent_delta": 0.0583,
          "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_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": 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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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.2133,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3229,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3827,
        "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.221,
          "after": 0.2133,
          "delta": -0.0077,
          "percent_delta": -0.0349,
          "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.325,
          "after": 0.3229,
          "delta": -0.0021,
          "percent_delta": -0.0066,
          "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.405,
          "after": 0.3827,
          "delta": -0.0223,
          "percent_delta": -0.0551,
          "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": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.3827,
          "delta": -0.0223,
          "percent_delta": -0.0551,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.77,
        "after": 4.0,
        "delta": -0.77,
        "percent_delta": -0.1614,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.214,
        "after": 0.2133,
        "delta": -0.0007,
        "percent_delta": -0.0033,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.631,
        "after": 1.0,
        "delta": 0.369,
        "percent_delta": 0.5848,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 0.0,
        "delta": -1.02,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.3229,
        "delta": -0.0081,
        "percent_delta": -0.0245,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 0.0,
        "delta": -0.669,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.385,
        "after": 0.3827,
        "delta": -0.0023,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.806,
        "after": 2.0,
        "delta": 1.194,
        "percent_delta": 1.4814,
        "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.806,
        "after": 2.0,
        "delta": 1.194,
        "percent_delta": 1.4814,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 0.0,
        "delta": -1.02,
        "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.006-
predicted_AB4.770-
predicted_AVG0.214-
predicted_BB0.631-
predicted_H1.020-
predicted_HR0.200-
predicted_OBP0.331-
predicted_R0.669-
predicted_RBI0.730-
predicted_SLG0.385-
predicted_SO0.806-
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.170-0.024
predicted_3B0.005-0.001
predicted_AB4.311-0.459
predicted_AVG0.2140.000
predicted_BB0.6960.065
predicted_H0.923-0.097
predicted_HBP0.026-
predicted_HR0.184-0.016
predicted_OBP0.3390.008
predicted_R0.7130.044
predicted_RBI0.692-0.038
predicted_SLG0.3850.000
predicted_SO0.8640.058
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.3110.000
predicted_AVG0.213-0.001
predicted_BB0.6980.002
predicted_H0.919-0.004
predicted_HBP0.0260.000
predicted_HR0.183-0.000
predicted_OBP0.323-0.016
predicted_R0.709-0.004
predicted_RBI0.688-0.004
predicted_SLG0.383-0.003
predicted_SO0.862-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.77), rates preserved: AVG=0.184 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. 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
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.1770.177
3B0.0100.010
BB0.5530.553
H0.837-0.163
HR0.1680.168
RBI0.489-0.511
SO0.863-0.137
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.177
3B0.000-0.010
AB4.0000.000
BB1.0000.447
H1.0000.163
HR0.000-0.168
R1.0000.000
RBI0.000-0.489
SO1.0000.137
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.311
predicted_AVG0.2210.008
predicted_BB0.000-0.698
predicted_H1.0000.081
predicted_HR0.000-0.183
predicted_OBP0.3250.002
predicted_R1.0000.291
predicted_RBI1.0000.312
predicted_SLG0.4050.022
predicted_SO1.0000.138
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
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.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: 160
Reference playing time: 4.770
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.0000.0003.0005.0005.0007.0000.10530.28000.10530.10530.00000.15790.26320.3684
last_100.2010-36.0008.0001.0000.0002.0009.0009.00011.0009.0000.22220.39580.41670.22220.05560.25000.30560.2500
season0.60160-597.000147.00031.0001.00033.00093.000107.000101.000129.0000.24620.35810.46730.24620.05530.15580.16920.2161
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1380
predicted_3B0.0040
predicted_AB3.7220
predicted_AVG0.2146
predicted_BB0.7790
predicted_H0.7990
predicted_HBP0.0260
predicted_HR0.1630
predicted_OBP0.3482
predicted_R0.7700
predicted_RBI0.6440
predicted_SLG0.3857
predicted_SO0.9380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.13800.1695model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.77003.72204.3108model_form_blend
predicted_AVG0.21400.21460.2143model_form_blend
predicted_BB0.63100.77900.6959model_form_blend
predicted_H1.02000.79900.9232model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.20000.16300.1838model_form_blend
predicted_OBP0.33100.34820.3385model_form_blend
predicted_R0.66900.77000.7133model_form_blend
predicted_RBI0.73000.64400.6923model_form_blend
predicted_SLG0.38500.38570.3853model_form_blend
predicted_SO0.80600.93800.8638model_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 date673
Season rows before report date673
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
AB4
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_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_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
gameID20260930_CHW@HOU
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-09-30
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 20261003: 347
All-history rows before 20261003: 347
System season_avg: 0.2270
Data season_avg (2026 season-to-date): 0.2166
Diff (system - data): 0.0104
System opponent_avg: 0.2910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1702.0000.000Hitting_2B0.1610.0001.8392.000
predicted_3B0.0320.0000.000Hitting_3B0.0400.000-0.0400.000
predicted_AB3.5214.0003.000Hitting_AB3.6464.0000.3540.000
predicted_AVG0.2270.5000.333Hitting_AVG0.2170.0000.2830.500
predicted_BB0.4040.0000.000Hitting_BB0.4840.000-0.4840.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.7982.0001.000Hitting_H0.7900.0001.2102.000
predicted_HR0.0640.0000.000Hitting_HR0.0750.000-0.0750.000
predicted_OBP0.3060.5000.333Hitting_OBP0.3130.0000.1870.500
predicted_R0.5001.0001.000Hitting_R0.5530.0000.4471.000
predicted_RBI0.4041.0000.000Hitting_RBI0.4810.0000.5191.000
predicted_SLG0.3471.0000.333Hitting_SLG0.3450.0000.6551.000
predicted_SO0.7980.0001.000Hitting_SO0.8271.000-0.827-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_2B: 0.1700 -> 2.0000 (boost 1.8300, better)
Biggest Deboostpredicted_SO: 0.7980 -> 0.0000 (deboost -0.7980, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64242predicted_H: 0.7980 -> 0.8669 (boost 0.0689, better)predicted_BB: 0.4040 -> 0.3342 (deboost -0.0698, 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_scaling72516predicted_SO: 0.7833 -> 1.0000 (boost 0.2167, worse)predicted_AB: 3.5107 -> 3.0000 (deboost -0.5107, worse)AB rounded to 3 (raw=3.52), rates preserved: AVG=0.234 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
7consistency_constraints11010predicted_R: 0.5212 -> 1.0000 (boost 0.4788, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3765 (boost 0.3765, better)predicted_H: 1.0000 -> 0.7614 (deboost -0.2386, 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.7614 -> 1.0000 (boost 0.2386, better)predicted_RBI: 0.3765 -> 0.0000 (deboost -0.3765, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context21111predicted_SLG: 0.3554 -> 0.3620 (boost 0.0066, better)predicted_AVG: 0.2459 -> 0.2290 (deboost -0.0169, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference54150predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.2290 -> 0.2459 (boost 0.0169, better)predicted_SLG: 0.3620 -> 0.3554 (deboost -0.0066, worse)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.17,
        "predicted_3B": 0.032,
        "predicted_AB": 3.521,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.404,
        "predicted_H": 0.798,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.306,
        "predicted_R": 0.5,
        "predicted_RBI": 0.404,
        "predicted_SLG": 0.347,
        "predicted_SO": 0.798
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1657,
        "predicted_3B": 0.0264,
        "predicted_AB": 3.5107,
        "predicted_AVG": 0.2472,
        "predicted_BB": 0.3342,
        "predicted_H": 0.8669,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0554,
        "predicted_OBP": 0.3143,
        "predicted_R": 0.5244,
        "predicted_RBI": 0.3483,
        "predicted_SLG": 0.3562,
        "predicted_SO": 0.7852
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1657,
          "delta": -0.0043,
          "percent_delta": -0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.0264,
          "delta": -0.0056,
          "percent_delta": -0.175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.521,
          "after": 3.5107,
          "delta": -0.0103,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2472,
          "delta": 0.0202,
          "percent_delta": 0.089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.404,
          "after": 0.3342,
          "delta": -0.0698,
          "percent_delta": -0.1728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.798,
          "after": 0.8669,
          "delta": 0.0689,
          "percent_delta": 0.0863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.064,
          "after": 0.0554,
          "delta": -0.0086,
          "percent_delta": -0.1344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3143,
          "delta": 0.0083,
          "percent_delta": 0.0271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5244,
          "delta": 0.0244,
          "percent_delta": 0.0488,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.404,
          "after": 0.3483,
          "delta": -0.0557,
          "percent_delta": -0.1379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3562,
          "delta": 0.0092,
          "percent_delta": 0.0265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.798,
          "after": 0.7852,
          "delta": -0.0128,
          "percent_delta": -0.016,
          "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_H",
          "before": 0.798,
          "after": 0.8669,
          "delta": 0.0689,
          "percent_delta": 0.0863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.404,
          "after": 0.3342,
          "delta": -0.0698,
          "percent_delta": -0.1728,
          "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": 94
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1657,
        "predicted_3B": 0.0264,
        "predicted_AB": 3.5107,
        "predicted_AVG": 0.2459,
        "predicted_BB": 0.335,
        "predicted_H": 0.8633,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0553,
        "predicted_OBP": 0.3116,
        "predicted_R": 0.5212,
        "predicted_RBI": 0.3462,
        "predicted_SLG": 0.3554,
        "predicted_SO": 0.7833
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1657,
          "after": 0.1657,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0264,
          "after": 0.0264,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5107,
          "after": 3.5107,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2472,
          "after": 0.2459,
          "delta": -0.0013,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3342,
          "after": 0.335,
          "delta": 0.0008,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8669,
          "after": 0.8633,
          "delta": -0.0036,
          "percent_delta": -0.0042,
          "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.0554,
          "after": 0.0553,
          "delta": -0.0001,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3143,
          "after": 0.3116,
          "delta": -0.0027,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5244,
          "after": 0.5212,
          "delta": -0.0032,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3483,
          "after": 0.3462,
          "delta": -0.0021,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3562,
          "after": 0.3554,
          "delta": -0.0008,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7852,
          "after": 0.7833,
          "delta": -0.0019,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "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.52), rates preserved: AVG=0.234 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.1657,
          "after": 0.0,
          "delta": -0.1657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0264,
          "after": 0.0,
          "delta": -0.0264,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5107,
          "after": 3.0,
          "delta": -0.5107,
          "percent_delta": -0.1455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.335,
          "after": 0.0,
          "delta": -0.335,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8633,
          "after": 1.0,
          "delta": 0.1367,
          "percent_delta": 0.1583,
          "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.0553,
          "after": 0.0,
          "delta": -0.0553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3462,
          "after": 0.0,
          "delta": -0.3462,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7833,
          "after": 1.0,
          "delta": 0.2167,
          "percent_delta": 0.2767,
          "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.7833,
          "after": 1.0,
          "delta": 0.2167,
          "percent_delta": 0.2767,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5107,
          "after": 3.0,
          "delta": -0.5107,
          "percent_delta": -0.1455,
          "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.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 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.5212,
          "after": 1.0,
          "delta": 0.4788,
          "percent_delta": 0.9186,
          "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.5212,
          "after": 1.0,
          "delta": 0.4788,
          "percent_delta": 0.9186,
          "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.1579,
        "predicted_3B": 0.0162,
        "predicted_BB": 0.3564,
        "predicted_H": 0.7614,
        "predicted_HR": 0.0845,
        "predicted_RBI": 0.3765,
        "predicted_SO": 0.8919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1579,
          "delta": 0.1579,
          "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.3564,
          "delta": 0.3564,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7614,
          "delta": -0.2386,
          "percent_delta": -0.2386,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0845,
          "delta": 0.0845,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3765,
          "delta": 0.3765,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8919,
          "delta": -0.1081,
          "percent_delta": -0.1081,
          "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.3765,
          "delta": 0.3765,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7614,
          "delta": -0.2386,
          "percent_delta": -0.2386,
          "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": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1579,
          "after": 0.0,
          "delta": -0.1579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0162,
          "after": 0.0,
          "delta": -0.0162,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.3564,
          "after": 0.0,
          "delta": -0.3564,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7614,
          "after": 1.0,
          "delta": 0.2386,
          "percent_delta": 0.3134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0845,
          "after": 0.0,
          "delta": -0.0845,
          "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.3765,
          "after": 0.0,
          "delta": -0.3765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8919,
          "after": 1.0,
          "delta": 0.1081,
          "percent_delta": 0.1212,
          "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.7614,
          "after": 1.0,
          "delta": 0.2386,
          "percent_delta": 0.3134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3765,
          "after": 0.0,
          "delta": -0.3765,
          "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.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.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": 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.2459,
          "after": 0.229,
          "delta": -0.0169,
          "percent_delta": -0.0687,
          "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.3116,
          "after": 0.309,
          "delta": -0.0026,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3554,
          "after": 0.362,
          "delta": 0.0066,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3554,
          "after": 0.362,
          "delta": 0.0066,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2459,
          "after": 0.229,
          "delta": -0.0169,
          "percent_delta": -0.0687,
          "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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2459,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3116,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3554,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2459,
          "delta": 0.0169,
          "percent_delta": 0.0739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3116,
          "delta": 0.0026,
          "percent_delta": 0.0084,
          "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.362,
          "after": 0.3554,
          "delta": -0.0066,
          "percent_delta": -0.0182,
          "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.229,
          "after": 0.2459,
          "delta": 0.0169,
          "percent_delta": 0.0739,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.362,
          "after": 0.3554,
          "delta": -0.0066,
          "percent_delta": -0.0182,
          "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": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "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.521,
        "after": 4.0,
        "delta": 0.479,
        "percent_delta": 0.136,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.227,
        "after": 0.2459,
        "delta": 0.0189,
        "percent_delta": 0.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.404,
        "after": 0.0,
        "delta": -0.404,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.798,
        "after": 2.0,
        "delta": 1.202,
        "percent_delta": 1.5063,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.064,
        "after": 0.0,
        "delta": -0.064,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.3116,
        "delta": 0.0056,
        "percent_delta": 0.0183,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.404,
        "after": 1.0,
        "delta": 0.596,
        "percent_delta": 1.4752,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.347,
        "after": 0.3554,
        "delta": 0.0084,
        "percent_delta": 0.0242,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.798,
        "after": 0.0,
        "delta": -0.798,
        "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_2B",
        "before": 0.17,
        "after": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.798,
        "after": 0.0,
        "delta": -0.798,
        "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.032-
predicted_AB3.521-
predicted_AVG0.227-
predicted_BB0.404-
predicted_H0.798-
predicted_HR0.064-
predicted_OBP0.306-
predicted_R0.500-
predicted_RBI0.404-
predicted_SLG0.347-
predicted_SO0.798-
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.004
predicted_3B0.026-0.006
predicted_AB3.511-0.010
predicted_AVG0.2470.020
predicted_BB0.334-0.070
predicted_H0.8670.069
predicted_HBP0.020-
predicted_HR0.055-0.009
predicted_OBP0.3140.008
predicted_R0.5240.024
predicted_RBI0.348-0.056
predicted_SLG0.3560.009
predicted_SO0.785-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.1660.000
predicted_3B0.0260.000
predicted_AB3.5110.000
predicted_AVG0.246-0.001
predicted_BB0.3350.001
predicted_H0.863-0.004
predicted_HBP0.0200.000
predicted_HR0.055-0.000
predicted_OBP0.312-0.003
predicted_R0.521-0.003
predicted_RBI0.346-0.002
predicted_SLG0.355-0.001
predicted_SO0.783-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=3.52), rates preserved: AVG=0.234 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. bvp_blend

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

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
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.1580.158
3B0.0160.016
BB0.3560.356
H0.761-0.239
HR0.0850.085
RBI0.3770.377
SO0.892-0.108
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.158
3B0.000-0.016
AB3.0000.000
BB0.000-0.356
H1.0000.239
HR0.000-0.085
R1.0000.000
RBI0.000-0.377
SO1.0000.108
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.026
predicted_AB3.000-0.511
predicted_AVG0.229-0.017
predicted_BB0.000-0.335
predicted_H1.0000.137
predicted_HR0.000-0.055
predicted_OBP0.309-0.003
predicted_R1.0000.479
predicted_RBI0.000-0.346
predicted_SLG0.3620.007
predicted_SO1.0000.217
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B2.0002.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.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: 94
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.0005.0000.0000.0000.0000.0003.0000.0004.0000.31250.31250.31250.31250.00000.00000.00000.2500
last_100.2010-36.00014.0003.0000.0000.0001.0007.0000.0006.0000.38890.38890.47220.38890.00000.02780.00000.1667
season0.6094-331.00075.00016.0003.0006.00038.00047.00038.00075.0000.22660.31100.34740.22660.01810.11480.11480.2266
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1600
predicted_3B0.0190
predicted_AB3.4970
predicted_AVG0.2742
predicted_BB0.2410
predicted_H0.9590
predicted_HBP0.0200
predicted_HR0.0440
predicted_OBP0.3253
predicted_R0.5570
predicted_RBI0.2740
predicted_SLG0.3685
predicted_SO0.7680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.16000.1657model_form_blend
predicted_3B0.03200.01900.0264model_form_blend
predicted_AB3.52103.49703.5107model_form_blend
predicted_AVG0.22700.27420.2472model_form_blend
predicted_BB0.40400.24100.3342model_form_blend
predicted_H0.79800.95900.8669model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.06400.04400.0554model_form_blend
predicted_OBP0.30600.32530.3143model_form_blend
predicted_R0.50000.55700.5244model_form_blend
predicted_RBI0.40400.27400.3483model_form_blend
predicted_SLG0.34700.36850.3562model_form_blend
predicted_SO0.79800.76800.7852model_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 date347
Season rows before report date347
Report year2026
Profile rows used94
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
2B2
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_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
allPositionsPlayedRF
gameID20260930_CHW@HOU
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-09-30
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
Brenton Doyle (686668) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 83
All-history rows before 20261003: 83
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2686
Diff (system - data): -0.0356
System opponent_avg: 0.1930
System season_avg diverges from 2026 season-to-date by -0.0356. 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.0970.0000.000Hitting_2B0.0720.000-0.0720.000
predicted_3B0.0140.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB2.8615.0004.000Hitting_AB2.9162.0002.0843.000
predicted_AVG0.2920.0000.250Hitting_AVG0.2690.500-0.269-0.500
predicted_BB0.1670.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0360.000-0.0360.000
predicted_H0.6500.0001.000Hitting_H0.7831.000-0.783-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1081.000-0.108-1.000
predicted_OBP0.3030.0000.250Hitting_OBP0.2690.500-0.269-0.500
predicted_R0.4440.0000.000Hitting_R0.2651.000-0.265-1.000
predicted_RBI0.2400.0000.000Hitting_RBI0.3731.000-0.373-1.000
predicted_SLG0.4780.0000.250Hitting_SLG0.4132.000-0.413-2.000
predicted_SO1.0001.0001.000Hitting_SO0.9040.0000.0961.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AB: 2.8610 -> 5.0000 (boost 2.1390, better)
Biggest Deboostpredicted_H: 0.6500 -> 0.0000 (deboost -0.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AB: 2.8610 -> 2.9651 (boost 0.1041, better)predicted_AVG: 0.2920 -> 0.2814 (deboost -0.0106, 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.4710 -> 0.4173 (deboost -0.0537, 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_scaling62424predicted_AB: 2.9651 -> 4.0000 (boost 1.0349, better)predicted_RBI: 0.2472 -> 0.0000 (deboost -0.2472, worse)AB rounded to 4 (raw=2.97), rates preserved: AVG=0.232 HR/AB=0.043
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4879 -> 0.0000 (deboost -0.4879, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_SO: 1.0000 -> 1.3692 (boost 0.3692, worse)predicted_H: 1.0000 -> 0.8186 (deboost -0.1814, 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.8186 -> 1.0000 (boost 0.1814, better)predicted_SO: 1.3692 -> 1.0000 (deboost -0.3692, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_OBP: 0.2794 -> 0.2900 (boost 0.0106, better)predicted_SLG: 0.4173 -> 0.3640 (deboost -0.0533, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_SLG: 0.3640 -> 0.4173 (boost 0.0533, better)predicted_OBP: 0.2900 -> 0.2794 (deboost -0.0106, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686668",
  "player_name": "Brenton Doyle",
  "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.097,
        "predicted_3B": 0.014,
        "predicted_AB": 2.861,
        "predicted_AVG": 0.292,
        "predicted_BB": 0.167,
        "predicted_H": 0.65,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.303,
        "predicted_R": 0.444,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.478,
        "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.0941,
        "predicted_3B": 0.019,
        "predicted_AB": 2.9651,
        "predicted_AVG": 0.2814,
        "predicted_BB": 0.1483,
        "predicted_H": 0.7242,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1282,
        "predicted_OBP": 0.2999,
        "predicted_R": 0.4909,
        "predicted_RBI": 0.2487,
        "predicted_SLG": 0.471,
        "predicted_SO": 0.9905
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.097,
          "after": 0.0941,
          "delta": -0.0029,
          "percent_delta": -0.0299,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.019,
          "delta": 0.005,
          "percent_delta": 0.3571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.861,
          "after": 2.9651,
          "delta": 0.1041,
          "percent_delta": 0.0364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.292,
          "after": 0.2814,
          "delta": -0.0106,
          "percent_delta": -0.0363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.167,
          "after": 0.1483,
          "delta": -0.0187,
          "percent_delta": -0.112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.65,
          "after": 0.7242,
          "delta": 0.0742,
          "percent_delta": 0.1142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1282,
          "delta": 0.0182,
          "percent_delta": 0.1655,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.2999,
          "delta": -0.0031,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.444,
          "after": 0.4909,
          "delta": 0.0469,
          "percent_delta": 0.1056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.24,
          "after": 0.2487,
          "delta": 0.0087,
          "percent_delta": 0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.478,
          "after": 0.471,
          "delta": -0.007,
          "percent_delta": -0.0146,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9905,
          "delta": -0.0095,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.861,
          "after": 2.9651,
          "delta": 0.1041,
          "percent_delta": 0.0364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.292,
          "after": 0.2814,
          "delta": -0.0106,
          "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": 72
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0941,
        "predicted_3B": 0.019,
        "predicted_AB": 2.9651,
        "predicted_AVG": 0.2432,
        "predicted_BB": 0.1487,
        "predicted_H": 0.7212,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.128,
        "predicted_OBP": 0.2794,
        "predicted_R": 0.4879,
        "predicted_RBI": 0.2472,
        "predicted_SLG": 0.4173,
        "predicted_SO": 0.9881
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0941,
          "after": 0.0941,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.019,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9651,
          "after": 2.9651,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2814,
          "after": 0.2432,
          "delta": -0.0382,
          "percent_delta": -0.1357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1483,
          "after": 0.1487,
          "delta": 0.0004,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7242,
          "after": 0.7212,
          "delta": -0.003,
          "percent_delta": -0.0041,
          "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.1282,
          "after": 0.128,
          "delta": -0.0002,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2999,
          "after": 0.2794,
          "delta": -0.0205,
          "percent_delta": -0.0684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4909,
          "after": 0.4879,
          "delta": -0.003,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2487,
          "after": 0.2472,
          "delta": -0.0015,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.471,
          "after": 0.4173,
          "delta": -0.0537,
          "percent_delta": -0.114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9905,
          "after": 0.9881,
          "delta": -0.0024,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.471,
          "after": 0.4173,
          "delta": -0.0537,
          "percent_delta": -0.114,
          "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=2.97), rates preserved: AVG=0.232 HR/AB=0.043",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0941,
          "after": 0.0,
          "delta": -0.0941,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9651,
          "after": 4.0,
          "delta": 1.0349,
          "percent_delta": 0.349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1487,
          "after": 0.0,
          "delta": -0.1487,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7212,
          "after": 1.0,
          "delta": 0.2788,
          "percent_delta": 0.3866,
          "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.128,
          "after": 0.0,
          "delta": -0.128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2472,
          "after": 0.0,
          "delta": -0.2472,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9881,
          "after": 1.0,
          "delta": 0.0119,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.9651,
          "after": 4.0,
          "delta": 1.0349,
          "percent_delta": 0.349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2472,
          "after": 0.0,
          "delta": -0.2472,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 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.4879,
          "after": 0.0,
          "delta": -0.4879,
          "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.4879,
          "after": 0.0,
          "delta": -0.4879,
          "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.1603,
        "predicted_3B": 0.0135,
        "predicted_BB": 0.256,
        "predicted_H": 0.8186,
        "predicted_HR": 0.092,
        "predicted_RBI": 0.3178,
        "predicted_SO": 1.3692
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1603,
          "delta": 0.1603,
          "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.256,
          "delta": 0.256,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8186,
          "delta": -0.1814,
          "percent_delta": -0.1814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.092,
          "delta": 0.092,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3178,
          "delta": 0.3178,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3692,
          "delta": 0.3692,
          "percent_delta": 0.3692,
          "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.3692,
          "delta": 0.3692,
          "percent_delta": 0.3692,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8186,
          "delta": -0.1814,
          "percent_delta": -0.1814,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1603,
          "after": 0.0,
          "delta": -0.1603,
          "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.256,
          "after": 0.0,
          "delta": -0.256,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8186,
          "after": 1.0,
          "delta": 0.1814,
          "percent_delta": 0.2216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.092,
          "after": 0.0,
          "delta": -0.092,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3178,
          "after": 0.0,
          "delta": -0.3178,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3692,
          "after": 1.0,
          "delta": -0.3692,
          "percent_delta": -0.2696,
          "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.8186,
          "after": 1.0,
          "delta": 0.1814,
          "percent_delta": 0.2216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3692,
          "after": 1.0,
          "delta": -0.3692,
          "percent_delta": -0.2696,
          "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.232,
        "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.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2432,
          "after": 0.232,
          "delta": -0.0112,
          "percent_delta": -0.0461,
          "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.2794,
          "after": 0.29,
          "delta": 0.0106,
          "percent_delta": 0.0379,
          "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.4173,
          "after": 0.364,
          "delta": -0.0533,
          "percent_delta": -0.1277,
          "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.2794,
          "after": 0.29,
          "delta": 0.0106,
          "percent_delta": 0.0379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4173,
          "after": 0.364,
          "delta": -0.0533,
          "percent_delta": -0.1277,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2432,
        "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.2794,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4173,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.232,
          "after": 0.2432,
          "delta": 0.0112,
          "percent_delta": 0.0484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2794,
          "delta": -0.0106,
          "percent_delta": -0.0367,
          "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.364,
          "after": 0.4173,
          "delta": 0.0533,
          "percent_delta": 0.1464,
          "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.364,
          "after": 0.4173,
          "delta": 0.0533,
          "percent_delta": 0.1464,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2794,
          "delta": -0.0106,
          "percent_delta": -0.0367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.097,
        "after": 0.0,
        "delta": -0.097,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.861,
        "after": 5.0,
        "delta": 2.139,
        "percent_delta": 0.7476,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.292,
        "after": 0.2432,
        "delta": -0.0488,
        "percent_delta": -0.1671,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.167,
        "after": 0.0,
        "delta": -0.167,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "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.303,
        "after": 0.2794,
        "delta": -0.0236,
        "percent_delta": -0.0779,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.444,
        "after": 0.0,
        "delta": -0.444,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.478,
        "after": 0.4173,
        "delta": -0.0607,
        "percent_delta": -0.127,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.861,
        "after": 5.0,
        "delta": 2.139,
        "percent_delta": 0.7476,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "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.097-
predicted_3B0.014-
predicted_AB2.861-
predicted_AVG0.292-
predicted_BB0.167-
predicted_H0.650-
predicted_HR0.110-
predicted_OBP0.303-
predicted_R0.444-
predicted_RBI0.240-
predicted_SLG0.478-
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.094-0.003
predicted_3B0.0190.005
predicted_AB2.9650.104
predicted_AVG0.281-0.011
predicted_BB0.148-0.019
predicted_H0.7240.074
predicted_HBP0.003-
predicted_HR0.1280.018
predicted_OBP0.300-0.003
predicted_R0.4910.047
predicted_RBI0.2490.009
predicted_SLG0.471-0.007
predicted_SO0.991-0.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.0940.000
predicted_3B0.0190.000
predicted_AB2.9650.000
predicted_AVG0.243-0.038
predicted_BB0.1490.000
predicted_H0.721-0.003
predicted_HBP0.0030.000
predicted_HR0.128-0.000
predicted_OBP0.279-0.021
predicted_R0.488-0.003
predicted_RBI0.247-0.002
predicted_SLG0.417-0.054
predicted_SO0.988-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=2.97), rates preserved: AVG=0.232 HR/AB=0.043

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=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
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.1600.160
3B0.0130.013
BB0.2560.256
H0.819-0.181
HR0.0920.092
RBI0.3180.318
SO1.3690.369
9. 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.013
AB4.0000.000
BB0.000-0.256
H1.0000.181
HR0.000-0.092
R0.0000.000
RBI0.000-0.318
SO1.000-0.369
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.094
predicted_3B0.000-0.019
predicted_AB4.0001.035
predicted_AVG0.232-0.011
predicted_BB0.000-0.149
predicted_H1.0000.279
predicted_HR0.000-0.128
predicted_OBP0.2900.011
predicted_R0.000-0.488
predicted_RBI0.000-0.247
predicted_SLG0.364-0.053
predicted_SO1.0000.012
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
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.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: 72
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.0005.0000.0000.0002.0002.0004.0000.0004.0000.31250.31250.68750.31250.12500.12500.00000.2500
last_100.2010-33.00011.0001.0001.0002.0002.0007.0000.00011.0000.33330.33330.60610.33330.06060.06060.00000.3333
season0.6072-206.00048.0007.0001.0005.00014.00032.00012.00072.0000.23300.27520.34950.23300.02430.06800.05830.3495
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0900
predicted_3B0.0260
predicted_AB3.1120
predicted_AVG0.2665
predicted_BB0.1220
predicted_H0.8290
predicted_HBP0.0030
predicted_HR0.1540
predicted_OBP0.2956
predicted_R0.5570
predicted_RBI0.2610
predicted_SLG0.4611
predicted_SO0.9770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09700.09000.0941model_form_blend
predicted_3B0.01400.02600.0190model_form_blend
predicted_AB2.86103.11202.9651model_form_blend
predicted_AVG0.29200.26650.2814model_form_blend
predicted_BB0.16700.12200.1483model_form_blend
predicted_H0.65000.82900.7242model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.11000.15400.1282model_form_blend
predicted_OBP0.30300.29560.2999model_form_blend
predicted_R0.44400.55700.4909model_form_blend
predicted_RBI0.24000.26100.2487model_form_blend
predicted_SLG0.47800.46110.4710model_form_blend
predicted_SO1.00000.97700.9905model_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 date83
Season rows before report date83
Report year2026
Profile rows used72
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
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_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
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
gameID20260926_COL@CHW
game_typefull
mlbID686668
playerID686668
playerNameBrenton Doyle
posCF
startedTrue
startingPositionCF
teamCHW
teamID6
game_date2026-09-26
sl_k_percent32.7
sl_bb_percent5.4
sl_woba0.28
sl_xwoba0.245
sl_xba0.203
sl_xslg0.307
sl_sweet_spot_percent26.8
sl_barrel_batted_rate6.7
sl_hard_hit_percent35.5
sl_exit_velocity_avg89.1
sl_launch_angle_avg8.6
sl_whiff_percent32.5
sl_swing_percent54.5
Tommy Pham (502054) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 12
All-history rows before 20261003: 12
System season_avg: 0.1150
Data season_avg (2026 season-to-date): 0.2069
Diff (system - data): -0.0919
System opponent_avg: 0.1800
System season_avg diverges from 2026 season-to-date by -0.0919. 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.0001.0000.000Hitting_2B0.0000.0001.0001.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5002.0003.000Hitting_AB2.4172.000-0.4170.000
predicted_AVG0.2470.5000.000Hitting_AVG0.2070.0000.2930.500
predicted_BB0.3851.0000.000Hitting_BB0.5000.0000.5001.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2601.0000.000Hitting_H0.5000.0000.5001.000
predicted_HR0.0600.0000.000Hitting_HR0.3330.000-0.3330.000
predicted_OBP0.3290.8000.000Hitting_OBP0.3430.0000.4570.800
predicted_R0.3851.0000.000Hitting_R0.5830.0000.4171.000
predicted_RBI0.1701.0000.000Hitting_RBI1.0000.0000.0001.000
predicted_SLG0.3131.0000.000Hitting_SLG0.6210.0000.3791.000
predicted_SO1.0580.0001.000Hitting_SO0.9171.000-0.917-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_2B: 0.0000 -> 1.0000 (boost 1.0000, better)
Biggest Deboostpredicted_SO: 1.0580 -> 0.0000 (deboost -1.0580, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_AB: 2.5000 -> 2.6066 (boost 0.1066, better)predicted_AVG: 0.2470 -> 0.2326 (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_AVG: 0.2326 -> 0.1352 (deboost -0.0974, 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_scaling51414predicted_AB: 2.6066 -> 3.0000 (boost 0.3934, better)predicted_BB: 0.4006 -> 0.0000 (deboost -0.4006, worse)AB rounded to 3 (raw=2.61), rates preserved: AVG=0.129 HR/AB=0.027
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.4132 -> 0.0000 (deboost -0.4132, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3594 (boost 0.3594, better)predicted_H: 1.0000 -> 0.6922 (deboost -0.3078, 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_allocation50505-predicted_H: 0.6922 -> 0.0000 (deboost -0.6922, 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_reference75261predicted_HBP: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3760 -> 0.2262 (deboost -0.1498, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "502054",
  "player_name": "Tommy Pham",
  "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.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.385,
        "predicted_H": 0.26,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.329,
        "predicted_R": 0.385,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.313,
        "predicted_SO": 1.058
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0204,
        "predicted_3B": 0.0018,
        "predicted_AB": 2.6066,
        "predicted_AVG": 0.2326,
        "predicted_BB": 0.3996,
        "predicted_H": 0.3539,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0712,
        "predicted_OBP": 0.3212,
        "predicted_R": 0.4157,
        "predicted_RBI": 0.2168,
        "predicted_SLG": 0.318,
        "predicted_SO": 1.0121
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0204,
          "delta": 0.0204,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0018,
          "delta": 0.0018,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6066,
          "delta": 0.1066,
          "percent_delta": 0.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2326,
          "delta": -0.0144,
          "percent_delta": -0.0583,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.3996,
          "delta": 0.0146,
          "percent_delta": 0.0379,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.26,
          "after": 0.3539,
          "delta": 0.0939,
          "percent_delta": 0.3612,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0712,
          "delta": 0.0112,
          "percent_delta": 0.1867,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.329,
          "after": 0.3212,
          "delta": -0.0078,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.385,
          "after": 0.4157,
          "delta": 0.0307,
          "percent_delta": 0.0797,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.2168,
          "delta": 0.0468,
          "percent_delta": 0.2753,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.313,
          "after": 0.318,
          "delta": 0.005,
          "percent_delta": 0.016,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.058,
          "after": 1.0121,
          "delta": -0.0459,
          "percent_delta": -0.0434,
          "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_AB",
          "before": 2.5,
          "after": 2.6066,
          "delta": 0.1066,
          "percent_delta": 0.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2326,
          "delta": -0.0144,
          "percent_delta": -0.0583,
          "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": 13
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0204,
        "predicted_3B": 0.0018,
        "predicted_AB": 2.6066,
        "predicted_AVG": 0.1352,
        "predicted_BB": 0.4006,
        "predicted_H": 0.3524,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0711,
        "predicted_OBP": 0.2504,
        "predicted_R": 0.4132,
        "predicted_RBI": 0.2155,
        "predicted_SLG": 0.2262,
        "predicted_SO": 1.0097
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0204,
          "after": 0.0204,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0018,
          "after": 0.0018,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6066,
          "after": 2.6066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2326,
          "after": 0.1352,
          "delta": -0.0974,
          "percent_delta": -0.4187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3996,
          "after": 0.4006,
          "delta": 0.001,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3539,
          "after": 0.3524,
          "delta": -0.0015,
          "percent_delta": -0.0042,
          "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.0712,
          "after": 0.0711,
          "delta": -0.0001,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3212,
          "after": 0.2504,
          "delta": -0.0708,
          "percent_delta": -0.2204,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4157,
          "after": 0.4132,
          "delta": -0.0025,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2168,
          "after": 0.2155,
          "delta": -0.0013,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.318,
          "after": 0.2262,
          "delta": -0.0918,
          "percent_delta": -0.2887,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0121,
          "after": 1.0097,
          "delta": -0.0024,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2326,
          "after": 0.1352,
          "delta": -0.0974,
          "percent_delta": -0.4187,
          "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.61), rates preserved: AVG=0.129 HR/AB=0.027",
      "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.0204,
          "after": 0.0,
          "delta": -0.0204,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0018,
          "after": 0.0,
          "delta": -0.0018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6066,
          "after": 3.0,
          "delta": 0.3934,
          "percent_delta": 0.1509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4006,
          "after": 0.0,
          "delta": -0.4006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3524,
          "after": 0.0,
          "delta": -0.3524,
          "percent_delta": -1.0,
          "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.0711,
          "after": 0.0,
          "delta": -0.0711,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2155,
          "after": 0.0,
          "delta": -0.2155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0097,
          "after": 1.0,
          "delta": -0.0097,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6066,
          "after": 3.0,
          "delta": 0.3934,
          "percent_delta": 0.1509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4006,
          "after": 0.0,
          "delta": -0.4006,
          "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.4132,
          "after": 0.0,
          "delta": -0.4132,
          "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.4132,
          "after": 0.0,
          "delta": -0.4132,
          "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.1453,
        "predicted_3B": 0.0112,
        "predicted_BB": 0.3181,
        "predicted_H": 0.6922,
        "predicted_HR": 0.0941,
        "predicted_RBI": 0.3594,
        "predicted_SO": 1.0252
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1453,
          "delta": 0.1453,
          "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.3181,
          "delta": 0.3181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6922,
          "delta": -0.3078,
          "percent_delta": -0.3078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0941,
          "delta": 0.0941,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3594,
          "delta": 0.3594,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0252,
          "delta": 0.0252,
          "percent_delta": 0.0252,
          "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_RBI",
          "before": 0.0,
          "after": 0.3594,
          "delta": 0.3594,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6922,
          "delta": -0.3078,
          "percent_delta": -0.3078,
          "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.1453,
          "after": 0.0,
          "delta": -0.1453,
          "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": 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.3181,
          "after": 0.0,
          "delta": -0.3181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6922,
          "after": 0.0,
          "delta": -0.6922,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0941,
          "after": 0.0,
          "delta": -0.0941,
          "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.3594,
          "after": 0.0,
          "delta": -0.3594,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0252,
          "after": 1.0,
          "delta": -0.0252,
          "percent_delta": -0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6922,
          "after": 0.0,
          "delta": -0.6922,
          "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.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1352,
          "after": 0.228,
          "delta": 0.0928,
          "percent_delta": 0.6864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2504,
          "after": 0.306,
          "delta": 0.0556,
          "percent_delta": 0.222,
          "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.2262,
          "after": 0.376,
          "delta": 0.1498,
          "percent_delta": 0.6622,
          "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": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 2.0,
        "predicted_AVG": 0.1352,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 2.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2504,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2262,
        "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": 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.228,
          "after": 0.1352,
          "delta": -0.0928,
          "percent_delta": -0.407,
          "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2504,
          "delta": -0.0556,
          "percent_delta": -0.1817,
          "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.376,
          "after": 0.2262,
          "delta": -0.1498,
          "percent_delta": -0.3983,
          "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.376,
          "after": 0.2262,
          "delta": -0.1498,
          "percent_delta": -0.3983,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 2.0,
        "delta": -0.5,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.1352,
        "delta": -0.1118,
        "percent_delta": -0.4526,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.329,
        "after": 0.2504,
        "delta": -0.0786,
        "percent_delta": -0.2389,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.313,
        "after": 0.2262,
        "delta": -0.0868,
        "percent_delta": -0.2773,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.058,
        "after": 0.0,
        "delta": -1.058,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.058,
        "after": 0.0,
        "delta": -1.058,
        "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.000-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.247-
predicted_BB0.385-
predicted_H0.260-
predicted_HR0.060-
predicted_OBP0.329-
predicted_R0.385-
predicted_RBI0.170-
predicted_SLG0.313-
predicted_SO1.058-
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.0200.020
predicted_3B0.0020.002
predicted_AB2.6070.107
predicted_AVG0.233-0.014
predicted_BB0.4000.015
predicted_H0.3540.094
predicted_HBP0.012-
predicted_HR0.0710.011
predicted_OBP0.321-0.008
predicted_R0.4160.031
predicted_RBI0.2170.047
predicted_SLG0.3180.005
predicted_SO1.012-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.0200.000
predicted_3B0.0020.000
predicted_AB2.6070.000
predicted_AVG0.135-0.097
predicted_BB0.4010.001
predicted_H0.352-0.002
predicted_HBP0.0120.000
predicted_HR0.071-0.000
predicted_OBP0.250-0.071
predicted_R0.413-0.003
predicted_RBI0.215-0.001
predicted_SLG0.226-0.092
predicted_SO1.010-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.61), rates preserved: AVG=0.129 HR/AB=0.027

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.1450.145
3B0.0110.011
BB0.3180.318
H0.692-0.308
HR0.0940.094
RBI0.3590.359
SO1.0250.025
8. 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.011
AB3.0000.000
BB0.000-0.318
H0.000-0.692
HR0.000-0.094
R0.0000.000
RBI0.000-0.359
SO1.000-0.025
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.020
predicted_3B0.000-0.002
predicted_AB3.0000.393
predicted_AVG0.2280.093
predicted_BB0.000-0.401
predicted_H1.0000.648
predicted_HR0.000-0.071
predicted_OBP0.3060.056
predicted_R0.000-0.413
predicted_RBI0.000-0.215
predicted_SLG0.3760.150
predicted_SO1.000-0.010
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB2.000-1.000
BB1.0001.000
CS0.0000.000
H1.0001.000
HBP2.0002.000
HR0.0000.000
PA5.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: 13
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-8.0002.0000.0000.0000.0000.0003.0004.0003.0000.25000.50000.25000.25000.00000.00000.50000.3750
last_100.2010-19.0003.0000.0000.0001.0003.0004.0004.0008.0000.15790.30430.31580.15790.05260.15790.21050.4210
season0.6013-26.0003.0000.0000.0001.0003.0004.0004.00011.0000.11540.23330.23080.11540.03850.11540.15380.4231
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0670
predicted_3B0.0060
predicted_AB2.8510
predicted_AVG0.1995
predicted_BB0.4330
predicted_H0.5690
predicted_HBP0.0120
predicted_HR0.0970
predicted_OBP0.3032
predicted_R0.4860
predicted_RBI0.3240
predicted_SLG0.3296
predicted_SO0.9070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.06700.0204model_form_blend
predicted_3B0.00000.00600.0018model_form_blend
predicted_AB2.50002.85102.6066model_form_blend
predicted_AVG0.24700.19950.2326model_form_blend
predicted_BB0.38500.43300.3996model_form_blend
predicted_H0.26000.56900.3539model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.06000.09700.0712model_form_blend
predicted_OBP0.32900.30320.3212model_form_blend
predicted_R0.38500.48600.4157model_form_blend
predicted_RBI0.17000.32400.2168model_form_blend
predicted_SLG0.31300.32960.3180model_form_blend
predicted_SO1.05800.90701.0121model_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 date12
Season rows before report date12
Report year2026
Profile rows used13
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
AB2
H1
2B1
3B0
HR0
R1
RBI1
BB1
SO0
SF0
HBP2
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
allPositionsPlayedDH
gameID20260926_COL@CHW
game_typefull
mlbID502054
playerID502054
playerNameTommy Pham
posDH
startedTrue
startingPositionDH
teamCHW
teamID6
game_date2026-09-26
sl_k_percent31.4
sl_bb_percent14.3
sl_woba0.209
sl_xwoba0.317
sl_xba0.236
sl_xslg0.354
sl_sweet_spot_percent26.3
sl_barrel_batted_rate5.3
sl_hard_hit_percent52.6
sl_exit_velocity_avg93.6
sl_launch_angle_avg12.7
sl_whiff_percent34.5
sl_swing_percent41.7
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 117
All-history rows before 20261003: 117
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2082
Diff (system - data): 0.0088
System opponent_avg: 0.1520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0750.0000.000Hitting_2B0.1280.000-0.1280.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9903.0003.000Hitting_AB3.5305.000-0.530-2.000
predicted_AVG0.2400.0000.333Hitting_AVG0.2080.400-0.208-0.400
predicted_BB0.4251.0000.000Hitting_BB0.5560.0000.4441.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9600.0001.000Hitting_H0.7352.000-0.735-2.000
predicted_HR0.1400.0000.000Hitting_HR0.1710.000-0.1710.000
predicted_OBP0.3550.2500.333Hitting_OBP0.3260.400-0.076-0.150
predicted_R0.5250.0001.000Hitting_R0.5981.000-0.598-1.000
predicted_RBI0.7200.0001.000Hitting_RBI0.8721.000-0.872-1.000
predicted_SLG0.3950.0000.333Hitting_SLG0.3900.400-0.390-0.400
predicted_SO1.3500.0001.000Hitting_SO1.5303.000-1.530-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.4250 -> 1.0000 (boost 0.5750, better)
Biggest Deboostpredicted_SO: 1.3500 -> 0.0000 (deboost -1.3500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31221predicted_AVG: 0.2400 -> 0.2501 (boost 0.0101, better)predicted_AB: 3.9900 -> 3.7916 (deboost -0.1984, 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.3554 -> 0.3207 (deboost -0.0347, 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_scaling82635predicted_RBI: 0.6968 -> 1.0000 (boost 0.3032, better)predicted_AB: 3.7916 -> 3.0000 (deboost -0.7916, worse)AB rounded to 3 (raw=3.99), rates preserved: AVG=0.225 HR/AB=0.034
6consistency_constraints11010predicted_R: 0.5681 -> 1.0000 (boost 0.4319, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 1.0000 -> 1.4065 (boost 0.4065, worse)predicted_RBI: 1.0000 -> 0.5260 (deboost -0.4740, 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_RBI: 0.5260 -> 1.0000 (boost 0.4740, better)predicted_SO: 1.4065 -> 1.0000 (deboost -0.4065, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2487 -> 0.2290 (deboost -0.0197, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference51423predicted_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.2290 -> 0.2487 (boost 0.0197, 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.075,
        "predicted_3B": 0.0,
        "predicted_AB": 3.99,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.425,
        "predicted_H": 0.96,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.355,
        "predicted_R": 0.525,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.395,
        "predicted_SO": 1.35
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0722,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7916,
        "predicted_AVG": 0.2501,
        "predicted_BB": 0.4009,
        "predicted_H": 0.9467,
        "predicted_HBP": 0.168,
        "predicted_HR": 0.1376,
        "predicted_OBP": 0.3554,
        "predicted_R": 0.5716,
        "predicted_RBI": 0.7011,
        "predicted_SLG": 0.3975,
        "predicted_SO": 1.2978
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.075,
          "after": 0.0722,
          "delta": -0.0028,
          "percent_delta": -0.0373,
          "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.99,
          "after": 3.7916,
          "delta": -0.1984,
          "percent_delta": -0.0497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2501,
          "delta": 0.0101,
          "percent_delta": 0.0421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.425,
          "after": 0.4009,
          "delta": -0.0241,
          "percent_delta": -0.0567,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9467,
          "delta": -0.0133,
          "percent_delta": -0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1376,
          "delta": -0.0024,
          "percent_delta": -0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3554,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.525,
          "after": 0.5716,
          "delta": 0.0466,
          "percent_delta": 0.0888,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.72,
          "after": 0.7011,
          "delta": -0.0189,
          "percent_delta": -0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.3975,
          "delta": 0.0025,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.35,
          "after": 1.2978,
          "delta": -0.0522,
          "percent_delta": -0.0387,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2501,
          "delta": 0.0101,
          "percent_delta": 0.0421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.99,
          "after": 3.7916,
          "delta": -0.1984,
          "percent_delta": -0.0497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 40
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0722,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7916,
        "predicted_AVG": 0.2487,
        "predicted_BB": 0.4019,
        "predicted_H": 0.9428,
        "predicted_HBP": 0.168,
        "predicted_HR": 0.1374,
        "predicted_OBP": 0.3207,
        "predicted_R": 0.5681,
        "predicted_RBI": 0.6968,
        "predicted_SLG": 0.3768,
        "predicted_SO": 1.2947
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0722,
          "after": 0.0722,
          "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.7916,
          "after": 3.7916,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2501,
          "after": 0.2487,
          "delta": -0.0014,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4009,
          "after": 0.4019,
          "delta": 0.001,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9467,
          "after": 0.9428,
          "delta": -0.0039,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.168,
          "after": 0.168,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1376,
          "after": 0.1374,
          "delta": -0.0002,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3554,
          "after": 0.3207,
          "delta": -0.0347,
          "percent_delta": -0.0976,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5716,
          "after": 0.5681,
          "delta": -0.0035,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7011,
          "after": 0.6968,
          "delta": -0.0043,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3975,
          "after": 0.3768,
          "delta": -0.0207,
          "percent_delta": -0.0521,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2978,
          "after": 1.2947,
          "delta": -0.0031,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3554,
          "after": 0.3207,
          "delta": -0.0347,
          "percent_delta": -0.0976,
          "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.99), rates preserved: AVG=0.225 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0722,
          "after": 0.0,
          "delta": -0.0722,
          "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.7916,
          "after": 3.0,
          "delta": -0.7916,
          "percent_delta": -0.2088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4019,
          "after": 0.0,
          "delta": -0.4019,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9428,
          "after": 1.0,
          "delta": 0.0572,
          "percent_delta": 0.0607,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.168,
          "after": 0.0,
          "delta": -0.168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1374,
          "after": 0.0,
          "delta": -0.1374,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6968,
          "after": 1.0,
          "delta": 0.3032,
          "percent_delta": 0.4351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2947,
          "after": 1.0,
          "delta": -0.2947,
          "percent_delta": -0.2276,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6968,
          "after": 1.0,
          "delta": 0.3032,
          "percent_delta": 0.4351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.7916,
          "after": 3.0,
          "delta": -0.7916,
          "percent_delta": -0.2088,
          "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": 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.5681,
          "after": 1.0,
          "delta": 0.4319,
          "percent_delta": 0.7603,
          "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.5681,
          "after": 1.0,
          "delta": 0.4319,
          "percent_delta": 0.7603,
          "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.1367,
        "predicted_3B": 0.0123,
        "predicted_BB": 0.316,
        "predicted_H": 0.7642,
        "predicted_HR": 0.1025,
        "predicted_RBI": 0.526,
        "predicted_SO": 1.4065
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1367,
          "delta": 0.1367,
          "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.316,
          "delta": 0.316,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7642,
          "delta": -0.2358,
          "percent_delta": -0.2358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1025,
          "delta": 0.1025,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.526,
          "delta": -0.474,
          "percent_delta": -0.474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4065,
          "delta": 0.4065,
          "percent_delta": 0.4065,
          "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.4065,
          "delta": 0.4065,
          "percent_delta": 0.4065,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.526,
          "delta": -0.474,
          "percent_delta": -0.474,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1367,
          "after": 0.0,
          "delta": -0.1367,
          "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.316,
          "after": 0.0,
          "delta": -0.316,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7642,
          "after": 1.0,
          "delta": 0.2358,
          "percent_delta": 0.3086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1025,
          "after": 0.0,
          "delta": -0.1025,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.526,
          "after": 1.0,
          "delta": 0.474,
          "percent_delta": 0.9011,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4065,
          "after": 1.0,
          "delta": -0.4065,
          "percent_delta": -0.289,
          "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.526,
          "after": 1.0,
          "delta": 0.474,
          "percent_delta": 0.9011,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4065,
          "after": 1.0,
          "delta": -0.4065,
          "percent_delta": -0.289,
          "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": 3.0,
        "predicted_AVG": 0.229,
        "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.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.2487,
          "after": 0.229,
          "delta": -0.0197,
          "percent_delta": -0.0792,
          "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.3207,
          "after": 0.302,
          "delta": -0.0187,
          "percent_delta": -0.0583,
          "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.3768,
          "after": 0.37,
          "delta": -0.0068,
          "percent_delta": -0.018,
          "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.2487,
          "after": 0.229,
          "delta": -0.0197,
          "percent_delta": -0.0792,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "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_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.2487,
        "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.3207,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3768,
        "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.229,
          "after": 0.2487,
          "delta": 0.0197,
          "percent_delta": 0.0859,
          "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.302,
          "after": 0.3207,
          "delta": 0.0187,
          "percent_delta": 0.0618,
          "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.37,
          "after": 0.3768,
          "delta": 0.0068,
          "percent_delta": 0.0184,
          "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.2487,
          "delta": 0.0197,
          "percent_delta": 0.0859,
          "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.075,
        "after": 0.0,
        "delta": -0.075,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.99,
        "after": 3.0,
        "delta": -0.99,
        "percent_delta": -0.2481,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2487,
        "delta": 0.0087,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.425,
        "after": 1.0,
        "delta": 0.575,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "better",
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.355,
        "after": 0.3207,
        "delta": -0.0343,
        "percent_delta": -0.0966,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.525,
        "after": 0.0,
        "delta": -0.525,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.3768,
        "delta": -0.0182,
        "percent_delta": -0.0461,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.35,
        "after": 0.0,
        "delta": -1.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.425,
        "after": 1.0,
        "delta": 0.575,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.35,
        "after": 0.0,
        "delta": -1.35,
        "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.075-
predicted_3B0.000-
predicted_AB3.990-
predicted_AVG0.240-
predicted_BB0.425-
predicted_H0.960-
predicted_HR0.140-
predicted_OBP0.355-
predicted_R0.525-
predicted_RBI0.720-
predicted_SLG0.395-
predicted_SO1.350-
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.072-0.003
predicted_3B0.0010.001
predicted_AB3.792-0.198
predicted_AVG0.2500.010
predicted_BB0.401-0.024
predicted_H0.947-0.013
predicted_HBP0.168-
predicted_HR0.138-0.002
predicted_OBP0.3550.000
predicted_R0.5720.047
predicted_RBI0.701-0.019
predicted_SLG0.3980.003
predicted_SO1.298-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.0720.000
predicted_3B0.0010.000
predicted_AB3.7920.000
predicted_AVG0.249-0.001
predicted_BB0.4020.001
predicted_H0.943-0.004
predicted_HBP0.1680.000
predicted_HR0.137-0.000
predicted_OBP0.321-0.035
predicted_R0.568-0.003
predicted_RBI0.697-0.004
predicted_SLG0.377-0.021
predicted_SO1.295-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.99), rates preserved: AVG=0.225 HR/AB=0.034

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
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.1370.137
3B0.0120.012
BB0.3160.316
H0.764-0.236
HR0.1020.102
RBI0.526-0.474
SO1.4070.407
8. 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.316
H1.0000.236
HR0.000-0.102
R1.0000.000
RBI1.0000.474
SO1.000-0.407
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.072
predicted_3B0.000-0.001
predicted_AB3.000-0.792
predicted_AVG0.229-0.020
predicted_BB0.000-0.402
predicted_H1.0000.057
predicted_HR0.000-0.137
predicted_OBP0.302-0.019
predicted_R1.0000.432
predicted_RBI1.0000.303
predicted_SLG0.370-0.007
predicted_SO1.000-0.295
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.0001.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
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 40
Reference playing time: 3.990
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.0000.0000.0001.0004.0005.0001.0005.0000.42110.47830.57890.42100.05260.21050.05260.2632
last_100.2010-37.00010.0000.0000.0001.0007.0008.0004.00013.0000.27030.37780.35140.27030.02700.18920.10810.3513
season0.6040-129.00028.0003.0000.0005.00027.00021.00017.00054.0000.21710.32450.35660.21700.03880.20930.13180.4186
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0680
predicted_3B0.0020
predicted_AB3.4960
predicted_AVG0.2652
predicted_BB0.3650
predicted_H0.9270
predicted_HBP0.1680
predicted_HR0.1340
predicted_OBP0.3559
predicted_R0.6410
predicted_RBI0.6730
predicted_SLG0.4013
predicted_SO1.2200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07500.06800.0722model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.99003.49603.7916model_form_blend
predicted_AVG0.24000.26520.2501model_form_blend
predicted_BB0.42500.36500.4009model_form_blend
predicted_H0.96000.92700.9467model_form_blend
predicted_HBP-0.16800.1680form_only
predicted_HR0.14000.13400.1376model_form_blend
predicted_OBP0.35500.35590.3554model_form_blend
predicted_R0.52500.64100.5716model_form_blend
predicted_RBI0.72000.67300.7011model_form_blend
predicted_SLG0.39500.40130.3975model_form_blend
predicted_SO1.35001.22001.2978model_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 date117
Season rows before report date117
Report year2026
Profile rows used40
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
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_SF0
Hitting_SO3
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
allPositionsPlayedC
gameID20260930_CHW@HOU
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-09-30
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
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 612
All-history rows before 20261003: 612
System season_avg: 0.1970
Data season_avg (2026 season-to-date): 0.2057
Diff (system - data): -0.0087
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.1550.0000.000Hitting_2B0.1730.000-0.1730.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7804.0003.000Hitting_AB3.8203.0000.1801.000
predicted_AVG0.1610.0000.000Hitting_AVG0.2060.000-0.2060.000
predicted_BB0.3550.0000.000Hitting_BB0.3741.000-0.374-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.6100.0000.000Hitting_H0.7860.000-0.7860.000
predicted_HR0.1600.0000.000Hitting_HR0.2190.000-0.2190.000
predicted_OBP0.2410.0000.000Hitting_OBP0.2920.250-0.292-0.250
predicted_R0.4650.0000.000Hitting_R0.5070.000-0.5070.000
predicted_RBI0.4400.0001.000Hitting_RBI0.6180.000-0.6180.000
predicted_SLG0.3430.0000.000Hitting_SLG0.4230.000-0.4230.000
predicted_SO1.4840.0002.000Hitting_SO1.5052.000-1.505-2.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.7800 -> 4.0000 (boost 0.2200, 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_blend30303-predicted_AB: 3.7800 -> 3.6642 (deboost -0.1158, 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.2405 -> 0.2259 (deboost -0.0146, 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_scaling80817-predicted_AB: 3.6642 -> 3.0000 (deboost -0.6642, worse)AB rounded to 3 (raw=3.78), rates preserved: AVG=0.143 HR/AB=0.045
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4239 -> 0.0000 (deboost -0.4239, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine66051predicted_H: 0.0000 -> 0.6875 (boost 0.6875, 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_RBI: 0.4906 -> 1.0000 (boost 0.5094, better)predicted_H: 0.6875 -> 0.0000 (deboost -0.6875, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53241predicted_AVG: 0.1551 -> 0.2120 (boost 0.0569, 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_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
12current_json_final30303-predicted_AVG: 0.2120 -> 0.1551 (deboost -0.0569, 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.155,
        "predicted_3B": 0.0,
        "predicted_AB": 3.78,
        "predicted_AVG": 0.161,
        "predicted_BB": 0.355,
        "predicted_H": 0.61,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.241,
        "predicted_R": 0.465,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.343,
        "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.1275,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6642,
        "predicted_AVG": 0.1553,
        "predicted_BB": 0.3345,
        "predicted_H": 0.5707,
        "predicted_HBP": 0.119,
        "predicted_HR": 0.1696,
        "predicted_OBP": 0.2405,
        "predicted_R": 0.4265,
        "predicted_RBI": 0.4195,
        "predicted_SLG": 0.3373,
        "predicted_SO": 1.4875
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.155,
          "after": 0.1275,
          "delta": -0.0275,
          "percent_delta": -0.1774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.78,
          "after": 3.6642,
          "delta": -0.1158,
          "percent_delta": -0.0306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.161,
          "after": 0.1553,
          "delta": -0.0057,
          "percent_delta": -0.0354,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.355,
          "after": 0.3345,
          "delta": -0.0205,
          "percent_delta": -0.0577,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.61,
          "after": 0.5707,
          "delta": -0.0393,
          "percent_delta": -0.0644,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1696,
          "delta": 0.0096,
          "percent_delta": 0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.241,
          "after": 0.2405,
          "delta": -0.0005,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.465,
          "after": 0.4265,
          "delta": -0.0385,
          "percent_delta": -0.0828,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4195,
          "delta": -0.0205,
          "percent_delta": -0.0466,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3373,
          "delta": -0.0057,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.484,
          "after": 1.4875,
          "delta": 0.0035,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.78,
          "after": 3.6642,
          "delta": -0.1158,
          "percent_delta": -0.0306,
          "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": 155
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1275,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6642,
        "predicted_AVG": 0.1551,
        "predicted_BB": 0.3353,
        "predicted_H": 0.5684,
        "predicted_HBP": 0.119,
        "predicted_HR": 0.1693,
        "predicted_OBP": 0.2259,
        "predicted_R": 0.4239,
        "predicted_RBI": 0.4169,
        "predicted_SLG": 0.3288,
        "predicted_SO": 1.4839
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1275,
          "after": 0.1275,
          "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.6642,
          "after": 3.6642,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1553,
          "after": 0.1551,
          "delta": -0.0002,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3345,
          "after": 0.3353,
          "delta": 0.0008,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5707,
          "after": 0.5684,
          "delta": -0.0023,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.119,
          "after": 0.119,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1696,
          "after": 0.1693,
          "delta": -0.0003,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2405,
          "after": 0.2259,
          "delta": -0.0146,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4265,
          "after": 0.4239,
          "delta": -0.0026,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4195,
          "after": 0.4169,
          "delta": -0.0026,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3373,
          "after": 0.3288,
          "delta": -0.0085,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4875,
          "after": 1.4839,
          "delta": -0.0036,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2405,
          "after": 0.2259,
          "delta": -0.0146,
          "percent_delta": -0.0607,
          "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.78), rates preserved: AVG=0.143 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.1275,
          "after": 0.0,
          "delta": -0.1275,
          "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.6642,
          "after": 3.0,
          "delta": -0.6642,
          "percent_delta": -0.1813,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3353,
          "after": 0.0,
          "delta": -0.3353,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5684,
          "after": 0.0,
          "delta": -0.5684,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.119,
          "after": 0.0,
          "delta": -0.119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1693,
          "after": 0.0,
          "delta": -0.1693,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4169,
          "after": 0.0,
          "delta": -0.4169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4839,
          "after": 1.0,
          "delta": -0.4839,
          "percent_delta": -0.3261,
          "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.6642,
          "after": 3.0,
          "delta": -0.6642,
          "percent_delta": -0.1813,
          "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.200)",
      "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.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": 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.4239,
          "after": 0.0,
          "delta": -0.4239,
          "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.4239,
          "after": 0.0,
          "delta": -0.4239,
          "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.1493,
        "predicted_3B": 0.0077,
        "predicted_BB": 0.2601,
        "predicted_H": 0.6875,
        "predicted_HR": 0.1319,
        "predicted_RBI": 0.4906,
        "predicted_SO": 1.5057
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1493,
          "delta": 0.1493,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0077,
          "delta": 0.0077,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2601,
          "delta": 0.2601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6875,
          "delta": 0.6875,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1319,
          "delta": 0.1319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4906,
          "delta": 0.4906,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.5057,
          "delta": 0.5057,
          "percent_delta": 0.5057,
          "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.6875,
          "delta": 0.6875,
          "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": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1493,
          "after": 0.0,
          "delta": -0.1493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2601,
          "after": 0.0,
          "delta": -0.2601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6875,
          "after": 0.0,
          "delta": -0.6875,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1319,
          "after": 0.0,
          "delta": -0.1319,
          "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.4906,
          "after": 1.0,
          "delta": 0.5094,
          "percent_delta": 1.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5057,
          "after": 2.0,
          "delta": 0.4943,
          "percent_delta": 0.3283,
          "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.4906,
          "after": 1.0,
          "delta": 0.5094,
          "percent_delta": 1.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6875,
          "after": 0.0,
          "delta": -0.6875,
          "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.212,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.276,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.385,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1551,
          "after": 0.212,
          "delta": 0.0569,
          "percent_delta": 0.3669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2259,
          "after": 0.276,
          "delta": 0.0501,
          "percent_delta": 0.2218,
          "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.3288,
          "after": 0.385,
          "delta": 0.0562,
          "percent_delta": 0.1709,
          "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_AVG",
          "before": 0.1551,
          "after": 0.212,
          "delta": 0.0569,
          "percent_delta": 0.3669,
          "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": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 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": 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.1551,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2259,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3288,
        "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.212,
          "after": 0.1551,
          "delta": -0.0569,
          "percent_delta": -0.2683,
          "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.276,
          "after": 0.2259,
          "delta": -0.0501,
          "percent_delta": -0.1814,
          "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.385,
          "after": 0.3288,
          "delta": -0.0562,
          "percent_delta": -0.1461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.1551,
          "delta": -0.0569,
          "percent_delta": -0.2683,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.155,
        "after": 0.0,
        "delta": -0.155,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.78,
        "after": 4.0,
        "delta": 0.22,
        "percent_delta": 0.0582,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.161,
        "after": 0.1551,
        "delta": -0.0059,
        "percent_delta": -0.0366,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.355,
        "after": 0.0,
        "delta": -0.355,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "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.241,
        "after": 0.2259,
        "delta": -0.0151,
        "percent_delta": -0.0627,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.465,
        "after": 0.0,
        "delta": -0.465,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.343,
        "after": 0.3288,
        "delta": -0.0142,
        "percent_delta": -0.0414,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.78,
        "after": 4.0,
        "delta": 0.22,
        "percent_delta": 0.0582,
        "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": "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.155-
predicted_3B0.000-
predicted_AB3.780-
predicted_AVG0.161-
predicted_BB0.355-
predicted_H0.610-
predicted_HR0.160-
predicted_OBP0.241-
predicted_R0.465-
predicted_RBI0.440-
predicted_SLG0.343-
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.128-0.027
predicted_3B0.0000.000
predicted_AB3.664-0.116
predicted_AVG0.155-0.006
predicted_BB0.335-0.020
predicted_H0.571-0.039
predicted_HBP0.119-
predicted_HR0.1700.010
predicted_OBP0.240-0.001
predicted_R0.426-0.039
predicted_RBI0.419-0.021
predicted_SLG0.337-0.006
predicted_SO1.4880.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.1280.000
predicted_3B0.0000.000
predicted_AB3.6640.000
predicted_AVG0.155-0.000
predicted_BB0.3350.001
predicted_H0.568-0.002
predicted_HBP0.1190.000
predicted_HR0.169-0.000
predicted_OBP0.226-0.015
predicted_R0.424-0.003
predicted_RBI0.417-0.003
predicted_SLG0.329-0.009
predicted_SO1.484-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=3.78), rates preserved: AVG=0.143 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=10.0, weight=0.100, BvP AVG=0.200)

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.1490.149
3B0.0080.008
BB0.2600.260
H0.6880.688
HR0.1320.132
RBI0.4910.491
SO1.5060.506
9. 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.008
AB3.0000.000
BB0.000-0.260
H0.000-0.688
HR0.000-0.132
R0.0000.000
RBI1.0000.509
SO2.0000.494
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.128
predicted_3B0.000-0.000
predicted_AB3.000-0.664
predicted_AVG0.2120.057
predicted_BB0.000-0.335
predicted_H0.000-0.568
predicted_HR0.000-0.169
predicted_OBP0.2760.050
predicted_R0.000-0.424
predicted_RBI0.000-0.417
predicted_SLG0.3850.056
predicted_SO1.000-0.484
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.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: 155
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.0001.0001.0001.0001.0007.0000.06670.17650.26670.06670.06670.06670.06670.4667
last_100.2010-34.0002.0000.0000.0001.0001.0003.0003.00017.0000.05880.15790.14710.05880.02940.02940.08820.5000
season0.60155-574.000113.00024.0000.00032.00088.00072.00055.000230.0000.19690.28330.40590.19690.05580.15330.09580.4007
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0920
predicted_3B0.0010
predicted_AB3.5150
predicted_AVG0.1479
predicted_BB0.3080
predicted_H0.5200
predicted_HBP0.1190
predicted_HR0.1820
predicted_OBP0.2399
predicted_R0.3770
predicted_RBI0.3930
predicted_SLG0.3299
predicted_SO1.4920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15500.09200.1275model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.78003.51503.6642model_form_blend
predicted_AVG0.16100.14790.1553model_form_blend
predicted_BB0.35500.30800.3345model_form_blend
predicted_H0.61000.52000.5707model_form_blend
predicted_HBP-0.11900.1190form_only
predicted_HR0.16000.18200.1696model_form_blend
predicted_OBP0.24100.23990.2405model_form_blend
predicted_R0.46500.37700.4265model_form_blend
predicted_RBI0.44000.39300.4195model_form_blend
predicted_SLG0.34300.32990.3373model_form_blend
predicted_SO1.48401.49201.4875model_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 used155
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
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_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
allPositionsPlayedSS
gameID20260930_CHW@HOU
game_typefull
mlbID695657
playerID695657
playerNameColson Montgomery
posSS
startedTrue
startingPositionSS
teamCHW
teamID6
game_date2026-09-30
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 20261003: 19
All-history rows before 20261003: 19

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.8420.0001.1582.000
predicted_ER0.0000.0000.000Pitching_ER0.2110.000-0.2110.000
predicted_H2.0002.0002.000Pitching_H0.6842.0001.3160.000
predicted_IP5.0005.0005.000Pitching_InningsPitched1.4843.0003.5162.000
predicted_SO5.0005.0005.000Pitching_SO2.2111.0002.7894.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": "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": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 0.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_H2.000-
predicted_HR0.000-
predicted_IP5.000-
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_BB2.0000.000
predicted_ER0.0000.000
predicted_H2.0000.000
predicted_HR0.0000.000
predicted_IP5.0000.000
predicted_SO5.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 18
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.1001.0004.0004.0008.0000.0001.22731.09090.13640.54540.54541.09090.0000
last_100.351018.0003.0008.0006.00023.0000.0001.50000.77780.16670.44440.33331.27780.0000
season0.201831.0003.00012.00016.00042.0000.0000.87100.90320.09680.38710.51611.35480.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB1.3020
predicted_ER0.9220
predicted_ERA2.7256
predicted_H2.1340
predicted_HR0.1970
predicted_IP3.0000
predicted_SO3.3140
predicted_WHIP1.1281
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.30201.6758model_form_blend
predicted_ER0.00000.92200.4283model_form_blend
predicted_ERA-2.72562.7256form_only
predicted_H2.00002.13402.0622model_form_blend
predicted_HR0.00000.19700.0915model_form_blend
predicted_IP5.00003.00004.1000model_form_blend
predicted_SO5.00003.31404.2168model_form_blend
predicted_WHIP-1.12811.1281form_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 used18
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
BB2
SO5
HR0
BF19
Pitches77

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 Faced11
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts7
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches38
Pitching_R0
Pitching_SO1
Pitching_Strikes28
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260929_CHW@HOU
game_typefull
mlbID696146
playerID696146
playerNameHagen Smith
posP
startedTrue
startingPositionP
teamCHW
teamID6
game_date2026-09-29
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 20261003: 41
All-history rows before 20261003: 41

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4390.000-0.4390.000
predicted_ER2.0002.0002.000Pitching_ER0.3660.0001.6342.000
predicted_H2.0002.0002.000Pitching_H0.9762.0001.0240.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2661.200-0.166-0.100
predicted_SO1.0001.0001.000Pitching_SO1.8541.000-0.8540.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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.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": 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.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_ER2.000-
predicted_H2.000-
predicted_HR1.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: 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.4260
predicted_ER0.3220
predicted_ERA2.0160
predicted_H0.9120
predicted_HR0.1020
predicted_IP1.1000
predicted_SO1.5600
predicted_WHIP0.9304
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42600.2227model_form_blend
predicted_ER2.00000.32201.1227model_form_blend
predicted_ERA-2.01602.0160form_only
predicted_H2.00000.91201.4312model_form_blend
predicted_HR1.00000.10200.5305model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.56001.2928model_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
H2
R2
ER2
BB0
SO1
HR1
BF6
Pitches18

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 · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 54
All-history rows before 20261003: 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_ER0.0000.0000.000Pitching_ER0.4811.000-0.481-1.000
predicted_H0.0000.0000.000Pitching_H1.2221.000-1.222-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.3631.100-0.2630.000
predicted_SO1.0001.0001.000Pitching_SO1.4444.000-0.444-3.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": "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.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: 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.6758
predicted_H1.8070
predicted_HR0.0660
predicted_IP1.2000
predicted_SO1.7480
predicted_WHIP1.3520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.62500.3473model_form_blend
predicted_ER0.00000.93500.5195model_form_blend
predicted_ERA-4.67584.6758form_only
predicted_H0.00001.80701.0040model_form_blend
predicted_HR0.00000.06600.0367model_form_blend
predicted_IP1.10001.20001.2000model_form_blend
predicted_SO1.00001.74801.4156model_form_blend
predicted_WHIP-1.35201.3520form_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
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 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 · Setup Man · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 67
All-history rows before 20261003: 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.0001.0001.000Pitching_InningsPitched0.8570.1000.1430.900
predicted_SO0.0000.0000.000Pitching_SO0.8810.000-0.8810.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": "663542",
  "player_name": "Bryan Hudson",
  "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": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_SO0.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.4375
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.2046model_form_blend
predicted_ERA-3.43753.4375form_only
predicted_H0.00001.12400.6020model_form_blend
predicted_HR0.00000.15200.0814model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.70900.3797model_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.0
H0
R0
ER0
BB0
SO0
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_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
Jordan Hicks (663855) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 43
All-history rows before 20261003: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5810.000-0.5810.000
predicted_ER0.0000.0000.000Pitching_ER0.3953.000-0.395-3.000
predicted_H0.0000.0000.000Pitching_H0.8374.000-0.837-4.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.7841.000-0.684-0.900
predicted_SO1.0001.0001.000Pitching_SO1.1402.000-0.140-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_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": "663855",
  "player_name": "Jordan Hicks",
  "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": 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: 42
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0004.0006.0003.0009.0001.0006.00001.50000.66671.00000.50001.50000.1667
last_100.351010.0006.00013.0004.00014.0002.0005.40001.70000.60001.30000.40001.40000.2000
season0.204240.00017.00035.00025.00049.0003.0003.82501.50000.42500.87500.62501.22500.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3770
predicted_ER0.4740
predicted_ERA5.0736
predicted_H0.8790
predicted_HR0.1310
predicted_IP1.0000
predicted_SO1.0350
predicted_WHIP1.4921
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37700.1849model_form_blend
predicted_ER0.00000.47400.2325model_form_blend
predicted_ERA-5.07365.0736form_only
predicted_H0.00000.87900.4312model_form_blend
predicted_HR0.00000.13100.0643model_form_blend
predicted_IP0.10001.00000.2000model_form_blend
predicted_SO1.00001.03501.0172model_form_blend
predicted_WHIP-1.49211.4921form_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 date43
Season rows before report date43
Report year2026
Profile rows used42
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 Faced7
Pitching_ER3
Pitching_ERA3.83
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R3
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_TEX@CHW
game_typefull
mlbID663855
playerID663855
playerNameJordan Hicks
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-25
game_pk824556.0
sl_k_percent29.6
sl_bb_percent15.3
sl_woba0.309
sl_xwoba0.262
sl_sweet_spot_percent27.1
sl_barrel_batted_rate1.7
sl_hard_hit_percent33.1
sl_whiff_percent28.2
sl_swing_percent44.3
sv_pitch_count24.0
sv_outs_recorded_est3.0
sv_release_speed94.46666666666664
sv_release_spin_rate2106.5
sv_effective_speed94.69583333333333
sv_launch_speed87.17777777777778
sv_launch_angle28.33333333333333
sv_woba_value5.05
sv_woba_denom7.0
sv_delta_run_exp2.059
sv_delta_home_win_exp-0.049
sl_avg_best_speed78.231887586
sl_avg_hyper_speed93.498076
Huascar Brazobán (623211) · PITCHER · Middle Reliever · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 0
All-history rows before 20261003: 0

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB----
predicted_ER0.0000.0000.000Pitching_ER----
predicted_H1.0001.0001.000Pitching_H----
predicted_IP0.0001.0000.000Pitching_InningsPitched----
predicted_SO1.0001.0001.000Pitching_SO----

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: 0.1000 -> 1.0000 (boost 0.9000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "623211",
  "player_name": "Huascar Brazobán",
  "position": "Middle Reliever",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.1,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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.100-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 46
Reference playing time: 0.100
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0001.0001.0003.0000.0001.80000.40000.20000.20000.20000.60000.0000
last_100.351010.2001.0004.0004.00010.0000.0000.84380.75000.09380.37500.37500.93750.0000
season0.204652.20015.00030.00023.00049.0003.0002.56331.00630.28480.56960.43670.93040.0570
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2610
predicted_ER0.2250
predicted_ERA2.5615
predicted_H0.4260
predicted_HR0.0430
predicted_IP0.2000
predicted_SO0.6560
predicted_WHIP0.8708
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26100.1349model_form_blend
predicted_ER0.00000.22500.1163model_form_blend
predicted_ERA-2.56152.5615form_only
predicted_H1.00000.42600.7034model_form_blend
predicted_HR0.00000.04300.0222model_form_blend
predicted_IP0.10000.20000.2000model_form_blend
predicted_SO1.00000.65600.8222model_form_blend
predicted_WHIP-0.87080.8708form_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 date0
Season rows before report date0
Report year2026
Profile rows used46
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)

No historical data found for this player before report date.

Home Team: CLE

Home Pitcher Deep Analysis

FieldValue
PitcherParker Messick
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5409
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0142
Avg Velo90.1175
Avg Spin2107.0954
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER3
Pre H5
Pre BB1
Pre SO5
Season ERA2.5599
Season WHIP1.0626
Role Avg IP5.8230
Recent Avg IP5.0670
Last Start IP3
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "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.0655,
    "defense_index": 1.0115,
    "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.0063,
    "offense_edge": -0.0691,
    "opponent_offense_edge": 0.0655,
    "defense_strength": 0.0919,
    "opponent_defense_weakness": -0.0115,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0004,
    "run_prevention": 1.001,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "800048",
    "profile": {
      "available": true,
      "pitcher_id": "800048",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 705.0,
        "k_percent": 25.8,
        "bb_percent": 6.6,
        "woba": 0.274,
        "xwoba": 0.275,
        "sweet_spot_percent": 30.7,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 34.3,
        "avg_best_speed": 76.3542,
        "avg_hyper_speed": 93.484,
        "whiff_percent": 25.5,
        "swing_percent": 48.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7912,
        "command_and_miss": 0.3829,
        "regression_edge": -0.0286,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.4889,
        "hard_hit_edge": 0.5143,
        "whiff_edge": 0.0429,
        "bb_edge": 0.65,
        "pitch_design_score": 0.0142
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "800048",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 97,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 97,
          "pitch_usage": 0.0,
          "release_speed": 90.117481056101,
          "release_spin_rate": 2107.0953611307837,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 97,
            "pitch_usage": 0.0,
            "release_speed": 90.117481056101,
            "release_spin_rate": 2107.0953611307837,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1175,
          "release_spin_rate": 2107.0954,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0142,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1013,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5409,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.954,
      "strikeout_factor": 1.0229,
      "walk_factor": 0.948,
      "homer_factor": 0.9086,
      "woba_minus_xwoba": -0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "800048",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.954,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.954,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.948,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9086,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0229,
        "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": 56.2,
    "ER": 16,
    "H": 49,
    "BB": 12,
    "SO": 65,
    "HR": 6,
    "ERA": 2.5411764705882356,
    "WHIP": 1.076470588235294,
    "K9": 10.323529411764707,
    "HR9": 0.9529411764705883,
    "games_pitched": 10,
    "quality_starts": 6,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "800048",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 97,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 97,
    "pitch_usage": 0.0,
    "release_speed": 90.117481056101,
    "release_spin_rate": 2107.0953611307837,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 97,
      "pitch_usage": 0.0,
      "release_speed": 90.117481056101,
      "release_spin_rate": 2107.0953611307837,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1175,
    "release_spin_rate": 2107.0954,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0142,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1013,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "800048",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 25.1,
        "ER": 9.0,
        "R": 9.0,
        "H": 28.0,
        "BB": 6.0,
        "SO": 32.0,
        "HR": 3.0,
        "BF": 110.0,
        "Pitches": 444.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 1.8,
        "R": 1.8,
        "H": 5.6,
        "BB": 1.2,
        "SO": 6.4,
        "HR": 0.6,
        "BF": 22.0,
        "Pitches": 88.8
      },
      "rates": {
        "ERA": 3.1974,
        "WHIP": 1.3421,
        "ER_per_IP": 0.35526,
        "H_per_IP": 1.10526,
        "BB_per_IP": 0.23684,
        "SO_per_IP": 1.26316,
        "HR_per_IP": 0.11842
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 56.2,
        "ER": 16.0,
        "R": 16.0,
        "H": 49.0,
        "BB": 12.0,
        "SO": 65.0,
        "HR": 6.0,
        "BF": 231.0,
        "Pitches": 940.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6,
        "R": 1.6,
        "H": 4.9,
        "BB": 1.2,
        "SO": 6.5,
        "HR": 0.6,
        "BF": 23.1,
        "Pitches": 94.0
      },
      "rates": {
        "ERA": 2.5412,
        "WHIP": 1.0765,
        "ER_per_IP": 0.28235,
        "H_per_IP": 0.86471,
        "BB_per_IP": 0.21176,
        "SO_per_IP": 1.14706,
        "HR_per_IP": 0.10588
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 186.1,
        "ER": 53.0,
        "R": 57.0,
        "H": 149.0,
        "BB": 49.0,
        "SO": 193.0,
        "HR": 17.0,
        "BF": 747.0,
        "Pitches": 2948.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6562,
        "R": 1.7812,
        "H": 4.6562,
        "BB": 1.5312,
        "SO": 6.0312,
        "HR": 0.5312,
        "BF": 23.3438,
        "Pitches": 92.125
      },
      "rates": {
        "ERA": 2.5599,
        "WHIP": 1.0626,
        "ER_per_IP": 0.28444,
        "H_per_IP": 0.79964,
        "BB_per_IP": 0.26297,
        "SO_per_IP": 1.03578,
        "HR_per_IP": 0.09123
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.865,
    "predicted_H": 5.252,
    "predicted_BB": 1.38,
    "predicted_SO": 6.238,
    "predicted_HR": 0.621,
    "predicted_ERA": 3.0793,
    "predicted_WHIP": 1.2162
  }
}
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": 6.0,
      "form": 5.1,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 1.865,
      "final": 2.327,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.252,
      "final": 5.1494,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.38,
      "final": 1.2253,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 6.238,
      "final": 5.327,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.621,
      "final": 0.3682,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0793,
      "final": 3.0793,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2162,
      "final": 1.2162,
      "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
PitcherCade Smith
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7123
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2026
Avg Velo93.4817
Avg Spin1907.6155
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.9459
Season WHIP0.9595
Role Avg IP1.0720
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "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.0655,
    "defense_index": 1.0115,
    "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.0063,
    "offense_edge": -0.0691,
    "opponent_offense_edge": 0.0655,
    "defense_strength": 0.0919,
    "opponent_defense_weakness": -0.0115,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0004,
    "run_prevention": 1.001,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "671922",
    "profile": {
      "available": true,
      "pitcher_id": "671922",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 267.0,
        "k_percent": 36.3,
        "bb_percent": 7.8,
        "woba": 0.241,
        "xwoba": 0.261,
        "sweet_spot_percent": 35.4,
        "barrel_batted_rate": 8.7,
        "hard_hit_percent": 42.8,
        "avg_best_speed": 82.0536,
        "avg_hyper_speed": 94.6537,
        "whiff_percent": 34.5,
        "swing_percent": 49.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6728,
        "command_and_miss": 1.4479,
        "regression_edge": -0.5714,
        "xwoba_edge": 1.4571,
        "barrel_edge": -0.3333,
        "hard_hit_edge": -0.7,
        "whiff_edge": 1.3286,
        "bb_edge": 0.35,
        "pitch_design_score": 0.2026
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "671922",
        "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": 93.48172572718366,
          "release_spin_rate": 1907.615515292579,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 93.48172572718366,
            "release_spin_rate": 1907.615515292579,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4817,
          "release_spin_rate": 1907.6155,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2026,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.447,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7123,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9395,
      "strikeout_factor": 1.1343,
      "walk_factor": 0.972,
      "homer_factor": 1.011,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "671922",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9395,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9395,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.972,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.011,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.1343,
        "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": 12.0,
    "ER": 0,
    "H": 2,
    "BB": 2,
    "SO": 19,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.3333333333333333,
    "K9": 14.25,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "671922",
  "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": 93.48172572718366,
    "release_spin_rate": 1907.615515292579,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 93.48172572718366,
      "release_spin_rate": 1907.615515292579,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4817,
    "release_spin_rate": 1907.6155,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2026,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.447,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.251,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7531,
    "prior_weight": 0.2469
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "671922",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 69,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 19.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 156.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.9,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3333,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.16667,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.58333,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 69,
      "totals": {
        "IP": 74.0,
        "ER": 16.0,
        "R": 20.0,
        "H": 48.0,
        "BB": 23.0,
        "SO": 107.0,
        "HR": 5.0,
        "BF": 295.0,
        "Pitches": 1238.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2319,
        "R": 0.2899,
        "H": 0.6957,
        "BB": 0.3333,
        "SO": 1.5507,
        "HR": 0.0725,
        "BF": 4.2754,
        "Pitches": 17.942
      },
      "rates": {
        "ERA": 1.9459,
        "WHIP": 0.9595,
        "ER_per_IP": 0.21622,
        "H_per_IP": 0.64865,
        "BB_per_IP": 0.31081,
        "SO_per_IP": 1.44595,
        "HR_per_IP": 0.06757
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.173,
    "predicted_H": 0.492,
    "predicted_BB": 0.274,
    "predicted_SO": 1.605,
    "predicted_HR": 0.051,
    "predicted_ERA": 1.4312,
    "predicted_WHIP": 0.7046
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4543,
  "form_weight": 0.5457,
  "form_reliability": 0.7531,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.251,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7531,
    "prior_weight": 0.2469
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.173,
      "final": 0.0944,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.492,
      "final": 0.2685,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.274,
      "final": 0.1495,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.605,
      "final": 0.8758,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.051,
      "final": 0.0278,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.4312,
      "final": 1.4312,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7046,
      "final": 0.7046,
      "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 Sabrowski
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5594
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0383
Avg Velo90.5485
Avg Spin2569.9294
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER1
Pre H1
Pre BB1
Pre SO0
Season ERA2.4207
Season WHIP1.0552
Role Avg IP0.8330
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "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.0655,
    "defense_index": 1.0115,
    "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.0063,
    "offense_edge": -0.0691,
    "opponent_offense_edge": 0.0655,
    "defense_strength": 0.0919,
    "opponent_defense_weakness": -0.0115,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0004,
    "run_prevention": 1.001,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681870",
    "profile": {
      "available": true,
      "pitcher_id": "681870",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 180.0,
        "k_percent": 37.4,
        "bb_percent": 15.3,
        "woba": 0.258,
        "xwoba": 0.251,
        "sweet_spot_percent": 39.4,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 79.9885,
        "avg_hyper_speed": 93.7378,
        "whiff_percent": 30.8,
        "swing_percent": 46.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9012,
        "command_and_miss": 0.9586,
        "regression_edge": 0.2,
        "xwoba_edge": 1.7429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": 0.5571,
        "whiff_edge": 0.8,
        "bb_edge": -1.525,
        "pitch_design_score": 0.0383
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681870",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 90.54853071894294,
          "release_spin_rate": 2569.9294048098436,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 90.54853071894294,
            "release_spin_rate": 2569.9294048098436,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5485,
          "release_spin_rate": 2569.9294,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0383,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2738,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.5594,
      "sample_weight": 0.72,
      "run_prevention_factor": 0.9525,
      "strikeout_factor": 1.086,
      "walk_factor": 1.0878,
      "homer_factor": 0.9373,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "681870",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9658,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9658,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0632,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9549,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0619,
        "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": 9.1,
    "ER": 1,
    "H": 2,
    "BB": 6,
    "SO": 11,
    "HR": 0,
    "ERA": 0.9642857142857142,
    "WHIP": 0.8571428571428571,
    "K9": 10.607142857142856,
    "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": "681870",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 90.54853071894294,
    "release_spin_rate": 2569.9294048098436,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 90.54853071894294,
      "release_spin_rate": 2569.9294048098436,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5485,
    "release_spin_rate": 2569.9294,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0383,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2738,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.961,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6658,
    "prior_weight": 0.3342
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681870",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 58,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 5.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 1.0,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.2857,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.21429,
        "BB_per_IP": 1.07143,
        "SO_per_IP": 1.71429,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 6.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 135.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.2,
        "BB": 0.6,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 13.5
      },
      "rates": {
        "ERA": 0.9643,
        "WHIP": 0.8571,
        "ER_per_IP": 0.10714,
        "H_per_IP": 0.21429,
        "BB_per_IP": 0.64286,
        "SO_per_IP": 1.17857,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 58,
      "totals": {
        "IP": 48.1,
        "ER": 13.0,
        "R": 15.0,
        "H": 24.0,
        "BB": 27.0,
        "SO": 76.0,
        "HR": 3.0,
        "BF": 197.0,
        "Pitches": 801.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2241,
        "R": 0.2586,
        "H": 0.4138,
        "BB": 0.4655,
        "SO": 1.3103,
        "HR": 0.0517,
        "BF": 3.3966,
        "Pitches": 13.8103
      },
      "rates": {
        "ERA": 2.4207,
        "WHIP": 1.0552,
        "ER_per_IP": 0.26897,
        "H_per_IP": 0.49655,
        "BB_per_IP": 0.55862,
        "SO_per_IP": 1.57241,
        "HR_per_IP": 0.06207
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.222,
    "predicted_H": 0.487,
    "predicted_BB": 0.642,
    "predicted_SO": 1.251,
    "predicted_HR": 0.055,
    "predicted_ERA": 2.0875,
    "predicted_WHIP": 1.1811
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4912,
  "form_weight": 0.5088,
  "form_reliability": 0.6658,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.961,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6658,
    "prior_weight": 0.3342
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.222,
      "final": 0.6042,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.487,
      "final": 0.739,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.642,
      "final": 0.8178,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.251,
      "final": 1.1277,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.055,
      "final": 0.028,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0875,
      "final": 2.0875,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1811,
      "final": 1.1811,
      "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
PitcherHunter Gaddis
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1311
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0439
Avg Velo89.0803
Avg Spin2261.9913
HB Inches0
IVB Inches0
Release Extension0
Pre IP0
Pre ER0
Pre H1
Pre BB1
Pre SO0
Season ERA2.8343
Season WHIP1.2099
Role Avg IP0.9000
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.9309,
    "defense_index": 1.0919,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "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.0655,
    "defense_index": 1.0115,
    "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.0063,
    "offense_edge": -0.0691,
    "opponent_offense_edge": 0.0655,
    "defense_strength": 0.0919,
    "opponent_defense_weakness": -0.0115,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0004,
    "run_prevention": 1.001,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "683769",
    "profile": {
      "available": true,
      "pitcher_id": "683769",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 230.0,
        "k_percent": 22.2,
        "bb_percent": 8.6,
        "woba": 0.3,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.7,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 29.9,
        "avg_best_speed": 75.513,
        "avg_hyper_speed": 92.3528,
        "whiff_percent": 29.5,
        "swing_percent": 51.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2002,
        "command_and_miss": 0.2514,
        "regression_edge": -0.3143,
        "xwoba_edge": 0.0286,
        "barrel_edge": -0.0667,
        "hard_hit_edge": 1.1429,
        "whiff_edge": 0.6143,
        "bb_edge": 0.15,
        "pitch_design_score": -0.0439
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "683769",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 16,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 16,
          "pitch_usage": 0.0,
          "release_speed": 89.08032665081826,
          "release_spin_rate": 2261.9912860002064,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 16,
            "pitch_usage": 0.0,
            "release_speed": 89.08032665081826,
            "release_spin_rate": 2261.9912860002064,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0803,
          "release_spin_rate": 2261.9913,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0439,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3135,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1311,
      "sample_weight": 0.92,
      "run_prevention_factor": 0.9889,
      "strikeout_factor": 1.0231,
      "walk_factor": 0.989,
      "homer_factor": 0.9621,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "683769",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9898,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9898,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9899,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9651,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0213,
        "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.2,
    "ER": 4,
    "H": 13,
    "BB": 2,
    "SO": 9,
    "HR": 2,
    "ERA": 3.724137931034483,
    "WHIP": 1.5517241379310345,
    "K9": 8.379310344827587,
    "HR9": 1.8620689655172415,
    "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": "683769",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 16,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 16,
    "pitch_usage": 0.0,
    "release_speed": 89.08032665081826,
    "release_spin_rate": 2261.9912860002064,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 16,
      "pitch_usage": 0.0,
      "release_speed": 89.08032665081826,
      "release_spin_rate": 2261.9912860002064,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0803,
    "release_spin_rate": 2261.9913,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0439,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3135,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.434,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7132,
    "prior_weight": 0.2868
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "683769",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 67,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 2.0,
        "BF": 21.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.6,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.4,
        "BF": 4.2,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 5.7857,
        "WHIP": 1.9286,
        "ER_per_IP": 0.64286,
        "H_per_IP": 1.71429,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.42857
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 13.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 2.0,
        "BF": 42.0,
        "Pitches": 160.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.3,
        "BB": 0.2,
        "SO": 0.9,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 1.5517,
        "ER_per_IP": 0.41379,
        "H_per_IP": 1.34483,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 0.93103,
        "HR_per_IP": 0.2069
      }
    },
    "season": {
      "games": 67,
      "totals": {
        "IP": 60.1,
        "ER": 19.0,
        "R": 19.0,
        "H": 53.0,
        "BB": 20.0,
        "SO": 57.0,
        "HR": 7.0,
        "BF": 253.0,
        "Pitches": 967.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2836,
        "R": 0.2836,
        "H": 0.791,
        "BB": 0.2985,
        "SO": 0.8507,
        "HR": 0.1045,
        "BF": 3.7761,
        "Pitches": 14.4328
      },
      "rates": {
        "ERA": 2.8343,
        "WHIP": 1.2099,
        "ER_per_IP": 0.31492,
        "H_per_IP": 0.87845,
        "BB_per_IP": 0.33149,
        "SO_per_IP": 0.94475,
        "HR_per_IP": 0.11602
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.501,
    "predicted_H": 1.293,
    "predicted_BB": 0.276,
    "predicted_SO": 0.91,
    "predicted_HR": 0.248,
    "predicted_ERA": 4.5128,
    "predicted_WHIP": 1.5699
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4712,
  "form_weight": 0.5288,
  "form_reliability": 0.7132,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.434,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7132,
    "prior_weight": 0.2868
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.501,
      "final": 0.2649,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.293,
      "final": 1.1549,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.276,
      "final": 0.6171,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.91,
      "final": 0.4812,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.248,
      "final": 0.1311,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.5128,
      "final": 4.5128,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5699,
      "final": 1.5699,
      "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."
}
Steven Kwan (680757) · BATTER · CF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 606
All-history rows before 20261003: 606
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2850
Diff (system - data): -0.0020
System opponent_avg: 0.2980

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1450.0000.000Hitting_2B0.1620.000-0.1620.000
predicted_3B0.0210.0000.000Hitting_3B0.0101.000-0.010-1.000
predicted_AB3.6285.0004.000Hitting_AB3.7234.0001.2771.000
predicted_AVG0.2830.2000.250Hitting_AVG0.2850.750-0.085-0.550
predicted_BB0.5660.0001.000Hitting_BB0.5911.000-0.591-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.0281.0001.000Hitting_H1.0613.000-0.061-2.000
predicted_HR0.0210.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3800.2000.400Hitting_OBP0.3840.800-0.184-0.600
predicted_R0.5380.0001.000Hitting_R0.6060.000-0.6060.000
predicted_RBI0.2210.0000.000Hitting_RBI0.2391.000-0.239-1.000
predicted_SLG0.3520.2000.250Hitting_SLG0.3521.250-0.152-1.050
predicted_SO0.3931.0000.000Hitting_SO0.4240.0000.5761.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_AB: 3.6280 -> 5.0000 (boost 1.3720, better)
Biggest Deboostpredicted_BB: 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_blend44040predicted_BB: 0.5660 -> 0.6245 (boost 0.0585, 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_scaling62433predicted_BB: 0.6229 -> 1.0000 (boost 0.3771, better)predicted_SO: 0.3957 -> 0.0000 (deboost -0.3957, better)AB rounded to 4 (raw=3.63), rates preserved: AVG=0.251 HR/AB=0.005
6consistency_constraints11010predicted_R: 0.5191 -> 1.0000 (boost 0.4809, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53223predicted_SO: 0.0000 -> 0.5559 (boost 0.5559, worse)predicted_BB: 1.0000 -> 0.5881 (deboost -0.4119, 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_allocation52332predicted_BB: 0.5881 -> 1.0000 (boost 0.4119, better)predicted_SO: 0.5559 -> 0.0000 (deboost -0.5559, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2896 -> 0.2280 (deboost -0.0616, 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.2280 -> 0.2896 (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": "680757",
  "player_name": "Steven Kwan",
  "position": "CF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.145,
        "predicted_3B": 0.021,
        "predicted_AB": 3.628,
        "predicted_AVG": 0.283,
        "predicted_BB": 0.566,
        "predicted_H": 1.028,
        "predicted_HR": 0.021,
        "predicted_OBP": 0.38,
        "predicted_R": 0.538,
        "predicted_RBI": 0.221,
        "predicted_SLG": 0.352,
        "predicted_SO": 0.393
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1214,
        "predicted_3B": 0.0424,
        "predicted_AB": 3.6267,
        "predicted_AVG": 0.2907,
        "predicted_BB": 0.6245,
        "predicted_H": 1.0551,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0197,
        "predicted_OBP": 0.3941,
        "predicted_R": 0.5227,
        "predicted_RBI": 0.2223,
        "predicted_SLG": 0.3638,
        "predicted_SO": 0.3947
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.145,
          "after": 0.1214,
          "delta": -0.0236,
          "percent_delta": -0.1628,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0424,
          "delta": 0.0214,
          "percent_delta": 1.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.628,
          "after": 3.6267,
          "delta": -0.0013,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.283,
          "after": 0.2907,
          "delta": 0.0077,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.566,
          "after": 0.6245,
          "delta": 0.0585,
          "percent_delta": 0.1034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.028,
          "after": 1.0551,
          "delta": 0.0271,
          "percent_delta": 0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.021,
          "after": 0.0197,
          "delta": -0.0013,
          "percent_delta": -0.0619,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3941,
          "delta": 0.0141,
          "percent_delta": 0.0371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.538,
          "after": 0.5227,
          "delta": -0.0153,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.221,
          "after": 0.2223,
          "delta": 0.0013,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.352,
          "after": 0.3638,
          "delta": 0.0118,
          "percent_delta": 0.0335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.393,
          "after": 0.3947,
          "delta": 0.0017,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.566,
          "after": 0.6245,
          "delta": 0.0585,
          "percent_delta": 0.1034,
          "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": 145
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1214,
        "predicted_3B": 0.0424,
        "predicted_AB": 3.6267,
        "predicted_AVG": 0.2896,
        "predicted_BB": 0.6229,
        "predicted_H": 1.0502,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0195,
        "predicted_OBP": 0.3937,
        "predicted_R": 0.5191,
        "predicted_RBI": 0.2208,
        "predicted_SLG": 0.3626,
        "predicted_SO": 0.3957
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1214,
          "after": 0.1214,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0424,
          "after": 0.0424,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6267,
          "after": 3.6267,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2907,
          "after": 0.2896,
          "delta": -0.0011,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6245,
          "after": 0.6229,
          "delta": -0.0016,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0551,
          "after": 1.0502,
          "delta": -0.0049,
          "percent_delta": -0.0046,
          "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.0197,
          "after": 0.0195,
          "delta": -0.0002,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3941,
          "after": 0.3937,
          "delta": -0.0004,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5227,
          "after": 0.5191,
          "delta": -0.0036,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2223,
          "after": 0.2208,
          "delta": -0.0015,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3638,
          "after": 0.3626,
          "delta": -0.0012,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.3947,
          "after": 0.3957,
          "delta": 0.001,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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.63), rates preserved: AVG=0.251 HR/AB=0.005",
      "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1214,
          "after": 0.0,
          "delta": -0.1214,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0424,
          "after": 0.0,
          "delta": -0.0424,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6267,
          "after": 4.0,
          "delta": 0.3733,
          "percent_delta": 0.1029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6229,
          "after": 1.0,
          "delta": 0.3771,
          "percent_delta": 0.6054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0502,
          "after": 1.0,
          "delta": -0.0502,
          "percent_delta": -0.0478,
          "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.0195,
          "after": 0.0,
          "delta": -0.0195,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2208,
          "after": 0.0,
          "delta": -0.2208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3957,
          "after": 0.0,
          "delta": -0.3957,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.6229,
          "after": 1.0,
          "delta": 0.3771,
          "percent_delta": 0.6054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3957,
          "after": 0.0,
          "delta": -0.3957,
          "percent_delta": -1.0,
          "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": 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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5191,
          "after": 1.0,
          "delta": 0.4809,
          "percent_delta": 0.9264,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5191,
          "after": 1.0,
          "delta": 0.4809,
          "percent_delta": 0.9264,
          "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.16,
        "predicted_3B": 0.019,
        "predicted_BB": 0.5881,
        "predicted_H": 0.8852,
        "predicted_HR": 0.0472,
        "predicted_RBI": 0.298,
        "predicted_SO": 0.5559
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.16,
          "delta": 0.16,
          "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": 1.0,
          "after": 0.5881,
          "delta": -0.4119,
          "percent_delta": -0.4119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8852,
          "delta": -0.1148,
          "percent_delta": -0.1148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0472,
          "delta": 0.0472,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.298,
          "delta": 0.298,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5559,
          "delta": 0.5559,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5559,
          "delta": 0.5559,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5881,
          "delta": -0.4119,
          "percent_delta": -0.4119,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.0,
          "delta": -0.16,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "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.5881,
          "after": 1.0,
          "delta": 0.4119,
          "percent_delta": 0.7004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8852,
          "after": 1.0,
          "delta": 0.1148,
          "percent_delta": 0.1297,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0472,
          "after": 0.0,
          "delta": -0.0472,
          "percent_delta": -1.0,
          "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.298,
          "after": 0.0,
          "delta": -0.298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5559,
          "after": 0.0,
          "delta": -0.5559,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5881,
          "after": 1.0,
          "delta": 0.4119,
          "percent_delta": 0.7004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5559,
          "after": 0.0,
          "delta": -0.5559,
          "percent_delta": -1.0,
          "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.228,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.335,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.316,
        "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.2896,
          "after": 0.228,
          "delta": -0.0616,
          "percent_delta": -0.2127,
          "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.3937,
          "after": 0.335,
          "delta": -0.0587,
          "percent_delta": -0.1491,
          "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.3626,
          "after": 0.316,
          "delta": -0.0466,
          "percent_delta": -0.1285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2896,
          "after": 0.228,
          "delta": -0.0616,
          "percent_delta": -0.2127,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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_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.2896,
        "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.3937,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3626,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.228,
          "after": 0.2896,
          "delta": 0.0616,
          "percent_delta": 0.2701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.3937,
          "delta": 0.0587,
          "percent_delta": 0.1753,
          "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.316,
          "after": 0.3626,
          "delta": 0.0466,
          "percent_delta": 0.1474,
          "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.228,
          "after": 0.2896,
          "delta": 0.0616,
          "percent_delta": 0.2701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.145,
        "after": 0.0,
        "delta": -0.145,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.628,
        "after": 5.0,
        "delta": 1.372,
        "percent_delta": 0.3782,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.283,
        "after": 0.2896,
        "delta": 0.0066,
        "percent_delta": 0.0233,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.566,
        "after": 0.0,
        "delta": -0.566,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.028,
        "after": 1.0,
        "delta": -0.028,
        "percent_delta": -0.0272,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.38,
        "after": 0.3937,
        "delta": 0.0137,
        "percent_delta": 0.0361,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.538,
        "after": 0.0,
        "delta": -0.538,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.352,
        "after": 0.3626,
        "delta": 0.0106,
        "percent_delta": 0.0301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.393,
        "after": 1.0,
        "delta": 0.607,
        "percent_delta": 1.5445,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.628,
        "after": 5.0,
        "delta": 1.372,
        "percent_delta": 0.3782,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "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.145-
predicted_3B0.021-
predicted_AB3.628-
predicted_AVG0.283-
predicted_BB0.566-
predicted_H1.028-
predicted_HR0.021-
predicted_OBP0.380-
predicted_R0.538-
predicted_RBI0.221-
predicted_SLG0.352-
predicted_SO0.393-
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.121-0.024
predicted_3B0.0420.021
predicted_AB3.627-0.001
predicted_AVG0.2910.008
predicted_BB0.6250.059
predicted_H1.0550.027
predicted_HBP0.013-
predicted_HR0.020-0.001
predicted_OBP0.3940.014
predicted_R0.523-0.015
predicted_RBI0.2220.001
predicted_SLG0.3640.012
predicted_SO0.3950.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.1210.000
predicted_3B0.0420.000
predicted_AB3.6270.000
predicted_AVG0.290-0.001
predicted_BB0.623-0.002
predicted_H1.050-0.005
predicted_HBP0.0130.000
predicted_HR0.019-0.000
predicted_OBP0.394-0.000
predicted_R0.519-0.004
predicted_RBI0.221-0.002
predicted_SLG0.363-0.001
predicted_SO0.3960.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.63), rates preserved: AVG=0.251 HR/AB=0.005

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.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
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.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.1600.160
3B0.0190.019
BB0.588-0.412
H0.885-0.115
HR0.0470.047
RBI0.2980.298
SO0.5560.556
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.019
AB4.0000.000
BB1.0000.412
H1.0000.115
HR0.000-0.047
R1.0000.000
RBI0.000-0.298
SO0.000-0.556
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.121
predicted_3B0.000-0.042
predicted_AB4.0000.373
predicted_AVG0.228-0.062
predicted_BB1.0000.377
predicted_H1.000-0.050
predicted_HR0.000-0.019
predicted_OBP0.335-0.059
predicted_R1.0000.481
predicted_RBI0.000-0.221
predicted_SLG0.316-0.047
predicted_SO0.000-0.396
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.0000.000
PA5.000-
R0.000-1.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: 145
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.0000.0001.0000.0001.0002.0005.0002.0000.33330.47830.44440.33330.00000.05560.27780.1111
last_100.2010-36.00012.0000.0001.0000.0002.0005.0009.0003.0000.33330.46670.38890.33330.00000.05560.25000.0833
season0.60145-526.000149.00021.0003.0003.00032.00078.00082.00057.0000.28330.38110.35170.28330.00570.06080.15590.1084
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0910
predicted_3B0.0700
predicted_AB3.6250
predicted_AVG0.3007
predicted_BB0.7000
predicted_H1.0900
predicted_HBP0.0130
predicted_HR0.0180
predicted_OBP0.4124
predicted_R0.5030
predicted_RBI0.2240
predicted_SLG0.3791
predicted_SO0.3970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14500.09100.1214model_form_blend
predicted_3B0.02100.07000.0424model_form_blend
predicted_AB3.62803.62503.6267model_form_blend
predicted_AVG0.28300.30070.2907model_form_blend
predicted_BB0.56600.70000.6245model_form_blend
predicted_H1.02801.09001.0551model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.02100.01800.0197model_form_blend
predicted_OBP0.38000.41240.3941model_form_blend
predicted_R0.53800.50300.5227model_form_blend
predicted_RBI0.22100.22400.2223model_form_blend
predicted_SLG0.35200.37910.3638model_form_blend
predicted_SO0.39300.39700.3947model_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 date606
Season rows before report date606
Report year2026
Profile rows used145
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_3B1
Hitting_AB4
Hitting_AVG0.75
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
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
allPositionsPlayedCF-LF
gameID20260926_CLE@KC
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-09-26
sl_k_percent9.7
sl_bb_percent13.3
sl_woba0.334
sl_xwoba0.329
sl_xba0.278
sl_xslg0.343
sl_sweet_spot_percent40.6
sl_barrel_batted_rate0.4
sl_hard_hit_percent10.5
sl_exit_velocity_avg83.9
sl_launch_angle_avg12.8
sl_whiff_percent8.2
sl_swing_percent35.7
Jo Adell (666176) · BATTER · DH · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 171
All-history rows before 20261003: 171
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2377
Diff (system - data): 0.0023
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.1650.0001.000Hitting_2B0.2460.000-0.2460.000
predicted_3B0.0060.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7974.0004.000Hitting_AB3.9123.0000.0881.000
predicted_AVG0.2400.0000.250Hitting_AVG0.2380.667-0.238-0.667
predicted_BB0.2150.0000.000Hitting_BB0.3981.000-0.398-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9110.0001.000Hitting_H0.9302.000-0.930-2.000
predicted_HR0.1460.0000.000Hitting_HR0.1461.000-0.146-1.000
predicted_OBP0.2810.0000.250Hitting_OBP0.3220.750-0.322-0.750
predicted_R0.4430.0001.000Hitting_R0.5261.000-0.526-1.000
predicted_RBI0.5890.0001.000Hitting_RBI0.7311.000-0.731-1.000
predicted_SLG0.4020.0000.500Hitting_SLG0.4131.667-0.413-1.667
predicted_SO0.9871.0001.000Hitting_SO1.0880.000-0.0881.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_AB: 3.7970 -> 4.0000 (boost 0.2030, better)
Biggest Deboostpredicted_H: 0.9110 -> 0.0000 (deboost -0.9110, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_BB: 0.2150 -> 0.2989 (boost 0.0839, better)predicted_SO: 0.9870 -> 0.9179 (deboost -0.0691, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
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_RBI: 0.5337 -> 1.0000 (boost 0.4663, better)predicted_BB: 0.2981 -> 0.0000 (deboost -0.2981, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.207 HR/AB=0.038
6consistency_constraints10101-predicted_R: 0.4769 -> 0.0000 (deboost -0.4769, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3043 (boost 0.3043, better)predicted_RBI: 1.0000 -> 0.5385 (deboost -0.4615, 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_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.3043 -> 0.0000 (deboost -0.3043, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_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
10simulation_box_score_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3700 -> 0.4004 (boost 0.0304, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666176",
  "player_name": "Jo Adell",
  "position": "DH",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.006,
        "predicted_AB": 3.797,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.215,
        "predicted_H": 0.911,
        "predicted_HR": 0.146,
        "predicted_OBP": 0.281,
        "predicted_R": 0.443,
        "predicted_RBI": 0.589,
        "predicted_SLG": 0.402,
        "predicted_SO": 0.987
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1628,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7808,
        "predicted_AVG": 0.2406,
        "predicted_BB": 0.2989,
        "predicted_H": 0.9097,
        "predicted_HBP": 0.066,
        "predicted_HR": 0.1464,
        "predicted_OBP": 0.2998,
        "predicted_R": 0.4802,
        "predicted_RBI": 0.5374,
        "predicted_SLG": 0.4028,
        "predicted_SO": 0.9179
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1628,
          "delta": -0.0022,
          "percent_delta": -0.0133,
          "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.797,
          "after": 3.7808,
          "delta": -0.0162,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2406,
          "delta": 0.0006,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.215,
          "after": 0.2989,
          "delta": 0.0839,
          "percent_delta": 0.3902,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.911,
          "after": 0.9097,
          "delta": -0.0013,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.146,
          "after": 0.1464,
          "delta": 0.0004,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2998,
          "delta": 0.0188,
          "percent_delta": 0.0669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.443,
          "after": 0.4802,
          "delta": 0.0372,
          "percent_delta": 0.084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.589,
          "after": 0.5374,
          "delta": -0.0516,
          "percent_delta": -0.0876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.4028,
          "delta": 0.0008,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.987,
          "after": 0.9179,
          "delta": -0.0691,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.215,
          "after": 0.2989,
          "delta": 0.0839,
          "percent_delta": 0.3902,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.987,
          "after": 0.9179,
          "delta": -0.0691,
          "percent_delta": -0.07,
          "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": 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.1628,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7808,
        "predicted_AVG": 0.2395,
        "predicted_BB": 0.2981,
        "predicted_H": 0.9055,
        "predicted_HBP": 0.066,
        "predicted_HR": 0.1451,
        "predicted_OBP": 0.2951,
        "predicted_R": 0.4769,
        "predicted_RBI": 0.5337,
        "predicted_SLG": 0.4004,
        "predicted_SO": 0.9203
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1628,
          "after": 0.1628,
          "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.7808,
          "after": 3.7808,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2406,
          "after": 0.2395,
          "delta": -0.0011,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2989,
          "after": 0.2981,
          "delta": -0.0008,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9097,
          "after": 0.9055,
          "delta": -0.0042,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.066,
          "after": 0.066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1464,
          "after": 0.1451,
          "delta": -0.0013,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2998,
          "after": 0.2951,
          "delta": -0.0047,
          "percent_delta": -0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4802,
          "after": 0.4769,
          "delta": -0.0033,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5374,
          "after": 0.5337,
          "delta": -0.0037,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4028,
          "after": 0.4004,
          "delta": -0.0024,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9179,
          "after": 0.9203,
          "delta": 0.0024,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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.80), rates preserved: AVG=0.207 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.1628,
          "after": 0.0,
          "delta": -0.1628,
          "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.7808,
          "after": 4.0,
          "delta": 0.2192,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2981,
          "after": 0.0,
          "delta": -0.2981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9055,
          "after": 1.0,
          "delta": 0.0945,
          "percent_delta": 0.1044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.066,
          "after": 0.0,
          "delta": -0.066,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1451,
          "after": 0.0,
          "delta": -0.1451,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5337,
          "after": 1.0,
          "delta": 0.4663,
          "percent_delta": 0.8737,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9203,
          "after": 1.0,
          "delta": 0.0797,
          "percent_delta": 0.0866,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5337,
          "after": 1.0,
          "delta": 0.4663,
          "percent_delta": 0.8737,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2981,
          "after": 0.0,
          "delta": -0.2981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "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.4769,
          "after": 0.0,
          "delta": -0.4769,
          "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.4769,
          "after": 0.0,
          "delta": -0.4769,
          "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.1838,
        "predicted_3B": 0.0109,
        "predicted_BB": 0.3043,
        "predicted_H": 0.8082,
        "predicted_HR": 0.1285,
        "predicted_RBI": 0.5385,
        "predicted_SO": 1.1659
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1838,
          "delta": 0.1838,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0109,
          "delta": 0.0109,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3043,
          "delta": 0.3043,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8082,
          "delta": -0.1918,
          "percent_delta": -0.1918,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1285,
          "delta": 0.1285,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5385,
          "delta": -0.4615,
          "percent_delta": -0.4615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1659,
          "delta": 0.1659,
          "percent_delta": 0.1659,
          "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.3043,
          "delta": 0.3043,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5385,
          "delta": -0.4615,
          "percent_delta": -0.4615,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1838,
          "after": 1.0,
          "delta": 0.8162,
          "percent_delta": 4.4407,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0109,
          "after": 0.0,
          "delta": -0.0109,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3043,
          "after": 0.0,
          "delta": -0.3043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8082,
          "after": 1.0,
          "delta": 0.1918,
          "percent_delta": 0.2373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1285,
          "after": 0.0,
          "delta": -0.1285,
          "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.5385,
          "after": 1.0,
          "delta": 0.4615,
          "percent_delta": 0.857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1659,
          "after": 1.0,
          "delta": -0.1659,
          "percent_delta": -0.1423,
          "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.3043,
          "after": 0.0,
          "delta": -0.3043,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.278,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.37,
        "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.2395,
          "after": 0.213,
          "delta": -0.0265,
          "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.2951,
          "after": 0.278,
          "delta": -0.0171,
          "percent_delta": -0.0579,
          "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.4004,
          "after": 0.37,
          "delta": -0.0304,
          "percent_delta": -0.0759,
          "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": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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.2395,
        "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.2951,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4004,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2395,
          "delta": 0.0265,
          "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": 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.278,
          "after": 0.2951,
          "delta": 0.0171,
          "percent_delta": 0.0615,
          "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.37,
          "after": 0.4004,
          "delta": 0.0304,
          "percent_delta": 0.0821,
          "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.37,
          "after": 0.4004,
          "delta": 0.0304,
          "percent_delta": 0.0821,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.797,
        "after": 4.0,
        "delta": 0.203,
        "percent_delta": 0.0535,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2395,
        "delta": -0.0005,
        "percent_delta": -0.0021,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.215,
        "after": 0.0,
        "delta": -0.215,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.911,
        "after": 0.0,
        "delta": -0.911,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.146,
        "after": 0.0,
        "delta": -0.146,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.2951,
        "delta": 0.0141,
        "percent_delta": 0.0502,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.443,
        "after": 0.0,
        "delta": -0.443,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.589,
        "after": 0.0,
        "delta": -0.589,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.402,
        "after": 0.4004,
        "delta": -0.0016,
        "percent_delta": -0.004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.987,
        "after": 1.0,
        "delta": 0.013,
        "percent_delta": 0.0132,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.797,
        "after": 4.0,
        "delta": 0.203,
        "percent_delta": 0.0535,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.911,
        "after": 0.0,
        "delta": -0.911,
        "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.165-
predicted_3B0.006-
predicted_AB3.797-
predicted_AVG0.240-
predicted_BB0.215-
predicted_H0.911-
predicted_HR0.146-
predicted_OBP0.281-
predicted_R0.443-
predicted_RBI0.589-
predicted_SLG0.402-
predicted_SO0.987-
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.002
predicted_3B0.005-0.001
predicted_AB3.781-0.016
predicted_AVG0.2410.001
predicted_BB0.2990.084
predicted_H0.910-0.001
predicted_HBP0.066-
predicted_HR0.1460.000
predicted_OBP0.3000.019
predicted_R0.4800.037
predicted_RBI0.537-0.052
predicted_SLG0.4030.001
predicted_SO0.918-0.069
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.0050.000
predicted_AB3.7810.000
predicted_AVG0.239-0.001
predicted_BB0.298-0.001
predicted_H0.905-0.004
predicted_HBP0.0660.000
predicted_HR0.145-0.001
predicted_OBP0.295-0.005
predicted_R0.477-0.003
predicted_RBI0.534-0.004
predicted_SLG0.400-0.002
predicted_SO0.9200.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=3.80), rates preserved: AVG=0.207 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.1840.184
3B0.0110.011
BB0.3040.304
H0.808-0.192
HR0.1290.129
RBI0.538-0.462
SO1.1660.166
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.816
3B0.000-0.011
AB4.0000.000
BB0.000-0.304
H1.0000.192
HR0.000-0.129
R1.0001.000
RBI1.0000.462
SO1.000-0.166
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.005
predicted_AB4.0000.219
predicted_AVG0.213-0.026
predicted_BB0.000-0.298
predicted_H1.0000.095
predicted_HR0.000-0.145
predicted_OBP0.278-0.017
predicted_R0.000-0.477
predicted_RBI1.0000.466
predicted_SLG0.370-0.030
predicted_SO1.0000.080
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.0000.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
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-18.0004.0001.0000.0001.0001.0004.0004.0002.0000.22220.36360.44440.22220.05560.05560.22220.1111
last_100.2010-38.00010.0001.0000.0001.0004.0005.0006.0008.0000.26320.36360.36840.26320.02630.10530.15790.2105
season0.60158-600.000144.00026.0001.00023.00093.00070.00034.000156.0000.24000.29880.40170.24000.03830.15500.05670.2600
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1600
predicted_3B0.0040
predicted_AB3.7600
predicted_AVG0.2414
predicted_BB0.4070
predicted_H0.9080
predicted_HBP0.0660
predicted_HR0.1470
predicted_OBP0.3239
predicted_R0.5280
predicted_RBI0.4710
predicted_SLG0.4038
predicted_SO0.8290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.16000.1628model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.79703.76003.7808model_form_blend
predicted_AVG0.24000.24140.2406model_form_blend
predicted_BB0.21500.40700.2989model_form_blend
predicted_H0.91100.90800.9097model_form_blend
predicted_HBP-0.06600.0660form_only
predicted_HR0.14600.14700.1464model_form_blend
predicted_OBP0.28100.32390.2998model_form_blend
predicted_R0.44300.52800.4802model_form_blend
predicted_RBI0.58900.47100.5374model_form_blend
predicted_SLG0.40200.40380.4028model_form_blend
predicted_SO0.98700.82900.9179model_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 date171
Season rows before report date171
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
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_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
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_CLE@KC
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-09-27
sl_k_percent23.8
sl_bb_percent5.2
sl_woba0.307
sl_xwoba0.329
sl_xba0.257
sl_xslg0.444
sl_sweet_spot_percent32.2
sl_barrel_batted_rate8.9
sl_hard_hit_percent44.9
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.2
sl_whiff_percent28.2
sl_swing_percent53.2
David Fry (681807) · BATTER · 1B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 200
All-history rows before 20261003: 200
System season_avg: 0.2030
Data season_avg (2026 season-to-date): 0.2054
Diff (system - data): -0.0024
System opponent_avg: 0.1180

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0820.0000.000Hitting_2B0.0900.000-0.0900.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5003.0003.000Hitting_AB2.6054.0000.395-1.000
predicted_AVG0.2030.0000.000Hitting_AVG0.2050.500-0.205-0.500
predicted_BB0.3021.0001.000Hitting_BB0.3600.0000.6401.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5080.0000.000Hitting_H0.5352.000-0.535-2.000
predicted_HR0.1100.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.2890.2500.250Hitting_OBP0.3050.500-0.055-0.250
predicted_R0.2880.0000.000Hitting_R0.3200.000-0.3200.000
predicted_RBI0.2750.0000.000Hitting_RBI0.2500.000-0.2500.000
predicted_SLG0.3680.0000.000Hitting_SLG0.3550.500-0.355-0.500
predicted_SO0.7972.0001.000Hitting_SO0.8501.0001.1501.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_SO: 0.7970 -> 2.0000 (boost 1.2030, worse)
Biggest Deboostpredicted_H: 0.5080 -> 0.0000 (deboost -0.5080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66060predicted_AB: 2.5000 -> 2.6432 (boost 0.1432, 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.2968 -> 0.2881 (deboost -0.0087, 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_H: 0.5706 -> 1.0000 (boost 0.4294, better)predicted_RBI: 0.3473 -> 0.0000 (deboost -0.3473, worse)AB rounded to 3 (raw=2.64), rates preserved: AVG=0.187 HR/AB=0.045
6consistency_constraints10101-predicted_R: 0.3307 -> 0.0000 (deboost -0.3307, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4340 (boost 0.4340, better)predicted_H: 1.0000 -> 0.6333 (deboost -0.3667, 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.4340 -> 1.0000 (boost 0.5660, better)predicted_H: 0.6333 -> 0.0000 (deboost -0.6333, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context52323predicted_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_reference32112predicted_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_final32121predicted_SLG: 0.3590 -> 0.3876 (boost 0.0286, better)predicted_OBP: 0.3050 -> 0.2881 (deboost -0.0169, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681807",
  "player_name": "David Fry",
  "position": "1B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.082,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.302,
        "predicted_H": 0.508,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.289,
        "predicted_R": 0.288,
        "predicted_RBI": 0.275,
        "predicted_SLG": 0.368,
        "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.0931,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.6432,
        "predicted_AVG": 0.2158,
        "predicted_BB": 0.269,
        "predicted_H": 0.5732,
        "predicted_HBP": 0.079,
        "predicted_HR": 0.1211,
        "predicted_OBP": 0.2968,
        "predicted_R": 0.333,
        "predicted_RBI": 0.3497,
        "predicted_SLG": 0.3886,
        "predicted_SO": 0.764
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.082,
          "after": 0.0931,
          "delta": 0.0111,
          "percent_delta": 0.1354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6432,
          "delta": 0.1432,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.2158,
          "delta": 0.0128,
          "percent_delta": 0.0631,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.302,
          "after": 0.269,
          "delta": -0.033,
          "percent_delta": -0.1093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.508,
          "after": 0.5732,
          "delta": 0.0652,
          "percent_delta": 0.1283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1211,
          "delta": 0.0111,
          "percent_delta": 0.1009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.2968,
          "delta": 0.0078,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.288,
          "after": 0.333,
          "delta": 0.045,
          "percent_delta": 0.1563,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.275,
          "after": 0.3497,
          "delta": 0.0747,
          "percent_delta": 0.2716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3886,
          "delta": 0.0206,
          "percent_delta": 0.056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.797,
          "after": 0.764,
          "delta": -0.033,
          "percent_delta": -0.0414,
          "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_AB",
          "before": 2.5,
          "after": 2.6432,
          "delta": 0.1432,
          "percent_delta": 0.0573,
          "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": 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.0931,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.6432,
        "predicted_AVG": 0.2159,
        "predicted_BB": 0.2683,
        "predicted_H": 0.5706,
        "predicted_HBP": 0.079,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.2881,
        "predicted_R": 0.3307,
        "predicted_RBI": 0.3473,
        "predicted_SLG": 0.3876,
        "predicted_SO": 0.766
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0931,
          "after": 0.0931,
          "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.6432,
          "after": 2.6432,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2158,
          "after": 0.2159,
          "delta": 0.0001,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.269,
          "after": 0.2683,
          "delta": -0.0007,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5732,
          "after": 0.5706,
          "delta": -0.0026,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.079,
          "after": 0.079,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1211,
          "after": 0.12,
          "delta": -0.0011,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2968,
          "after": 0.2881,
          "delta": -0.0087,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.333,
          "after": 0.3307,
          "delta": -0.0023,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3497,
          "after": 0.3473,
          "delta": -0.0024,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3886,
          "after": 0.3876,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.764,
          "after": 0.766,
          "delta": 0.002,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2968,
          "after": 0.2881,
          "delta": -0.0087,
          "percent_delta": -0.0293,
          "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.64), rates preserved: AVG=0.187 HR/AB=0.045",
      "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.0931,
          "after": 0.0,
          "delta": -0.0931,
          "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.6432,
          "after": 3.0,
          "delta": 0.3568,
          "percent_delta": 0.135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2683,
          "after": 0.0,
          "delta": -0.2683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5706,
          "after": 1.0,
          "delta": 0.4294,
          "percent_delta": 0.7525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.079,
          "after": 0.0,
          "delta": -0.079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.0,
          "delta": -0.12,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3473,
          "after": 0.0,
          "delta": -0.3473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.766,
          "after": 1.0,
          "delta": 0.234,
          "percent_delta": 0.3055,
          "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.5706,
          "after": 1.0,
          "delta": 0.4294,
          "percent_delta": 0.7525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3473,
          "after": 0.0,
          "delta": -0.3473,
          "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.3307,
          "after": 0.0,
          "delta": -0.3307,
          "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.3307,
          "after": 0.0,
          "delta": -0.3307,
          "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.1462,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.434,
        "predicted_H": 0.6333,
        "predicted_HR": 0.1074,
        "predicted_RBI": 0.348,
        "predicted_SO": 1.095
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1462,
          "delta": 0.1462,
          "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.434,
          "delta": 0.434,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6333,
          "delta": -0.3667,
          "percent_delta": -0.3667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1074,
          "delta": 0.1074,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.348,
          "delta": 0.348,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.095,
          "delta": 0.095,
          "percent_delta": 0.095,
          "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.434,
          "delta": 0.434,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6333,
          "delta": -0.3667,
          "percent_delta": -0.3667,
          "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": 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.1462,
          "after": 0.0,
          "delta": -0.1462,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0097,
          "after": 0.0,
          "delta": -0.0097,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.434,
          "after": 1.0,
          "delta": 0.566,
          "percent_delta": 1.3041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6333,
          "after": 0.0,
          "delta": -0.6333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1074,
          "after": 0.0,
          "delta": -0.1074,
          "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.348,
          "after": 0.0,
          "delta": -0.348,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.095,
          "after": 1.0,
          "delta": -0.095,
          "percent_delta": -0.0868,
          "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.434,
          "after": 1.0,
          "delta": 0.566,
          "percent_delta": 1.3041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6333,
          "after": 0.0,
          "delta": -0.6333,
          "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.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": 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.2159,
          "after": 0.203,
          "delta": -0.0129,
          "percent_delta": -0.0597,
          "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.2881,
          "after": 0.305,
          "delta": 0.0169,
          "percent_delta": 0.0587,
          "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.3876,
          "after": 0.359,
          "delta": -0.0286,
          "percent_delta": -0.0738,
          "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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "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": 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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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.2159,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2881,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3876,
        "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.203,
          "after": 0.2159,
          "delta": 0.0129,
          "percent_delta": 0.0634,
          "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.305,
          "after": 0.2881,
          "delta": -0.0169,
          "percent_delta": -0.0553,
          "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.359,
          "after": 0.3876,
          "delta": 0.0286,
          "percent_delta": 0.0796,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.359,
          "after": 0.3876,
          "delta": 0.0286,
          "percent_delta": 0.0796,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.2881,
          "delta": -0.0169,
          "percent_delta": -0.0553,
          "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.082,
        "after": 0.0,
        "delta": -0.082,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.2159,
        "delta": 0.0129,
        "percent_delta": 0.0635,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.302,
        "after": 1.0,
        "delta": 0.698,
        "percent_delta": 2.3113,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.508,
        "after": 0.0,
        "delta": -0.508,
        "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.289,
        "after": 0.2881,
        "delta": -0.0009,
        "percent_delta": -0.0031,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.288,
        "after": 0.0,
        "delta": -0.288,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.275,
        "after": 0.0,
        "delta": -0.275,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.368,
        "after": 0.3876,
        "delta": 0.0196,
        "percent_delta": 0.0533,
        "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": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "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.508,
        "after": 0.0,
        "delta": -0.508,
        "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.082-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.203-
predicted_BB0.302-
predicted_H0.508-
predicted_HR0.110-
predicted_OBP0.289-
predicted_R0.288-
predicted_RBI0.275-
predicted_SLG0.368-
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.0930.011
predicted_3B0.0000.000
predicted_AB2.6430.143
predicted_AVG0.2160.013
predicted_BB0.269-0.033
predicted_H0.5730.065
predicted_HBP0.079-
predicted_HR0.1210.011
predicted_OBP0.2970.008
predicted_R0.3330.045
predicted_RBI0.3500.075
predicted_SLG0.3890.021
predicted_SO0.764-0.033
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.0930.000
predicted_3B0.0000.000
predicted_AB2.6430.000
predicted_AVG0.2160.000
predicted_BB0.268-0.001
predicted_H0.571-0.003
predicted_HBP0.0790.000
predicted_HR0.120-0.001
predicted_OBP0.288-0.009
predicted_R0.331-0.002
predicted_RBI0.347-0.002
predicted_SLG0.388-0.001
predicted_SO0.7660.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.64), rates preserved: AVG=0.187 HR/AB=0.045

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.1460.146
3B0.0100.010
BB0.4340.434
H0.633-0.367
HR0.1070.107
RBI0.3480.348
SO1.0950.095
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.010
AB3.0000.000
BB1.0000.566
H0.000-0.633
HR0.000-0.107
R0.0000.000
RBI0.000-0.348
SO1.000-0.095
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.093
predicted_3B0.000-0.000
predicted_AB3.0000.357
predicted_AVG0.203-0.013
predicted_BB0.000-0.268
predicted_H1.0000.429
predicted_HR0.000-0.120
predicted_OBP0.3050.017
predicted_R0.000-0.331
predicted_RBI0.000-0.347
predicted_SLG0.359-0.029
predicted_SO1.0000.234
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.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: 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-19.0006.0001.0000.0001.0005.0003.0000.0003.0000.31580.35000.52630.31580.05260.26320.00000.1579
last_100.2010-30.0007.0001.0000.0002.0007.0006.0001.0005.0000.23330.30300.46670.23330.06670.23330.03330.1667
season0.6081-182.00037.0006.0000.0008.00020.00021.00022.00058.0000.20330.29610.36810.20330.04400.10990.12090.3187
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1090
predicted_3B0.0010
predicted_AB2.8470
predicted_AVG0.2339
predicted_BB0.2220
predicted_H0.6660
predicted_HBP0.0790
predicted_HR0.1370
predicted_OBP0.3079
predicted_R0.3970
predicted_RBI0.4560
predicted_SLG0.4179
predicted_SO0.7170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08200.10900.0931model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.50002.84702.6432model_form_blend
predicted_AVG0.20300.23390.2158model_form_blend
predicted_BB0.30200.22200.2690model_form_blend
predicted_H0.50800.66600.5732model_form_blend
predicted_HBP-0.07900.0790form_only
predicted_HR0.11000.13700.1211model_form_blend
predicted_OBP0.28900.30790.2968model_form_blend
predicted_R0.28800.39700.3330model_form_blend
predicted_RBI0.27500.45600.3497model_form_blend
predicted_SLG0.36800.41790.3886model_form_blend
predicted_SO0.79700.71700.7640model_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 date200
Season rows before report date200
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
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_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_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
allPositionsPlayedC
gameID20260927_CLE@KC
game_typefull
mlbID681807
playerID681807
playerNameDavid Fry
posRF
startedTrue
startingPositionC
teamCLE
teamID8
game_date2026-09-27
sl_k_percent27.6
sl_bb_percent13.1
sl_woba0.304
sl_xwoba0.271
sl_xba0.181
sl_xslg0.294
sl_sweet_spot_percent25.6
sl_barrel_batted_rate6.5
sl_hard_hit_percent34.4
sl_exit_velocity_avg86.3
sl_launch_angle_avg19.2
sl_whiff_percent28.9
sl_swing_percent43.8
José Ramírez (608070) · BATTER · 3B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 509
All-history rows before 20261003: 509
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2349
Diff (system - data): -0.0009
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.2230.0001.000Hitting_2B0.2400.000-0.2400.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.8304.0004.000Hitting_AB3.8315.0000.169-1.000
predicted_AVG0.2120.2500.250Hitting_AVG0.2350.0000.0150.250
predicted_BB0.4880.0001.000Hitting_BB0.5150.000-0.5150.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.0201.0001.000Hitting_H0.9000.0000.1001.000
predicted_HR0.0900.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.3060.2500.400Hitting_OBP0.3260.000-0.0760.250
predicted_R0.5700.0001.000Hitting_R0.5821.000-0.582-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.4680.000-0.4680.000
predicted_SLG0.3630.2500.500Hitting_SLG0.3760.000-0.1260.250
predicted_SO0.5620.0001.000Hitting_SO0.5680.000-0.5680.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AVG: 0.2120 -> 0.2200 (boost 0.0080, better)
Biggest Deboostpredicted_AB: 4.8300 -> 4.0000 (deboost -0.8300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2120 -> 0.2226 (boost 0.0106, better)predicted_AB: 4.8300 -> 4.4508 (deboost -0.3792, 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.3572 -> 0.3259 (deboost -0.0313, 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.5382 -> 1.0000 (boost 0.4618, worse)predicted_RBI: 0.4958 -> 0.0000 (deboost -0.4958, worse)AB rounded to 4 (raw=4.83), rates preserved: AVG=0.176 HR/AB=0.018
6consistency_constraints11010predicted_R: 0.5773 -> 1.0000 (boost 0.4227, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.5988 (boost 0.5988, better)predicted_SO: 1.0000 -> 0.7144 (deboost -0.2856, 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_allocation65142predicted_2B: 0.2138 -> 1.0000 (boost 0.7862, better)predicted_HR: 0.1016 -> 0.0000 (deboost -0.1016, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context62424predicted_OBP: 0.2931 -> 0.3140 (boost 0.0209, 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_reference20211-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final31212predicted_AVG: 0.2060 -> 0.2200 (boost 0.0140, better)predicted_OBP: 0.3140 -> 0.2931 (deboost -0.0209, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "608070",
  "player_name": "José Ramírez",
  "position": "3B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.223,
        "predicted_3B": 0.0,
        "predicted_AB": 4.83,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.488,
        "predicted_H": 1.02,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.306,
        "predicted_R": 0.57,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.363,
        "predicted_SO": 0.562
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2108,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4508,
        "predicted_AVG": 0.2226,
        "predicted_BB": 0.4615,
        "predicted_H": 0.9835,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0874,
        "predicted_OBP": 0.3067,
        "predicted_R": 0.5813,
        "predicted_RBI": 0.4992,
        "predicted_SLG": 0.3572,
        "predicted_SO": 0.5368
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.223,
          "after": 0.2108,
          "delta": -0.0122,
          "percent_delta": -0.0547,
          "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.83,
          "after": 4.4508,
          "delta": -0.3792,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2226,
          "delta": 0.0106,
          "percent_delta": 0.05,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.488,
          "after": 0.4615,
          "delta": -0.0265,
          "percent_delta": -0.0543,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 0.9835,
          "delta": -0.0365,
          "percent_delta": -0.0358,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0874,
          "delta": -0.0026,
          "percent_delta": -0.0289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3067,
          "delta": 0.0007,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.57,
          "after": 0.5813,
          "delta": 0.0113,
          "percent_delta": 0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.4992,
          "delta": -0.0408,
          "percent_delta": -0.0756,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.3572,
          "delta": -0.0058,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.562,
          "after": 0.5368,
          "delta": -0.0252,
          "percent_delta": -0.0448,
          "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.212,
          "after": 0.2226,
          "delta": 0.0106,
          "percent_delta": 0.05,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.83,
          "after": 4.4508,
          "delta": -0.3792,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.2108,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.4508,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.4603,
        "predicted_H": 0.979,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0866,
        "predicted_OBP": 0.2931,
        "predicted_R": 0.5773,
        "predicted_RBI": 0.4958,
        "predicted_SLG": 0.3259,
        "predicted_SO": 0.5382
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2108,
          "after": 0.2108,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4508,
          "after": 4.4508,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2226,
          "after": 0.22,
          "delta": -0.0026,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4615,
          "after": 0.4603,
          "delta": -0.0012,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9835,
          "after": 0.979,
          "delta": -0.0045,
          "percent_delta": -0.0046,
          "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.0874,
          "after": 0.0866,
          "delta": -0.0008,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3067,
          "after": 0.2931,
          "delta": -0.0136,
          "percent_delta": -0.0443,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5813,
          "after": 0.5773,
          "delta": -0.004,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4992,
          "after": 0.4958,
          "delta": -0.0034,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3572,
          "after": 0.3259,
          "delta": -0.0313,
          "percent_delta": -0.0876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5368,
          "after": 0.5382,
          "delta": 0.0014,
          "percent_delta": 0.0026,
          "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.3572,
          "after": 0.3259,
          "delta": -0.0313,
          "percent_delta": -0.0876,
          "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.83), rates preserved: AVG=0.176 HR/AB=0.018",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2108,
          "after": 0.0,
          "delta": -0.2108,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4508,
          "after": 4.0,
          "delta": -0.4508,
          "percent_delta": -0.1013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4603,
          "after": 0.0,
          "delta": -0.4603,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.979,
          "after": 1.0,
          "delta": 0.021,
          "percent_delta": 0.0215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0866,
          "after": 0.0,
          "delta": -0.0866,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4958,
          "after": 0.0,
          "delta": -0.4958,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5382,
          "after": 1.0,
          "delta": 0.4618,
          "percent_delta": 0.858,
          "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.5382,
          "after": 1.0,
          "delta": 0.4618,
          "percent_delta": 0.858,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4958,
          "after": 0.0,
          "delta": -0.4958,
          "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.5773,
          "after": 1.0,
          "delta": 0.4227,
          "percent_delta": 0.7322,
          "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.5773,
          "after": 1.0,
          "delta": 0.4227,
          "percent_delta": 0.7322,
          "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.2138,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.5988,
        "predicted_H": 0.8261,
        "predicted_HR": 0.1016,
        "predicted_RBI": 0.4401,
        "predicted_SO": 0.7144
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2138,
          "delta": 0.2138,
          "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.5988,
          "delta": 0.5988,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8261,
          "delta": -0.1739,
          "percent_delta": -0.1739,
          "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.4401,
          "delta": 0.4401,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7144,
          "delta": -0.2856,
          "percent_delta": -0.2856,
          "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.5988,
          "delta": 0.5988,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7144,
          "delta": -0.2856,
          "percent_delta": -0.2856,
          "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": 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.2138,
          "after": 1.0,
          "delta": 0.7862,
          "percent_delta": 3.6773,
          "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.5988,
          "after": 1.0,
          "delta": 0.4012,
          "percent_delta": 0.67,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8261,
          "after": 1.0,
          "delta": 0.1739,
          "percent_delta": 0.2105,
          "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": 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.4401,
          "after": 1.0,
          "delta": 0.5599,
          "percent_delta": 1.2722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7144,
          "after": 1.0,
          "delta": 0.2856,
          "percent_delta": 0.3998,
          "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_2B",
          "before": 0.2138,
          "after": 1.0,
          "delta": 0.7862,
          "percent_delta": 3.6773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1016,
          "after": 0.0,
          "delta": -0.1016,
          "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.206,
        "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.34,
        "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.22,
          "after": 0.206,
          "delta": -0.014,
          "percent_delta": -0.0636,
          "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.2931,
          "after": 0.314,
          "delta": 0.0209,
          "percent_delta": 0.0713,
          "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.3259,
          "after": 0.34,
          "delta": 0.0141,
          "percent_delta": 0.0433,
          "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_OBP",
          "before": 0.2931,
          "after": 0.314,
          "delta": 0.0209,
          "percent_delta": 0.0713,
          "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": 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": 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_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2931,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3259,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.206,
          "after": 0.22,
          "delta": 0.014,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2931,
          "delta": -0.0209,
          "percent_delta": -0.0667,
          "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.3259,
          "delta": -0.0141,
          "percent_delta": -0.0416,
          "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.206,
          "after": 0.22,
          "delta": 0.014,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.2931,
          "delta": -0.0209,
          "percent_delta": -0.0667,
          "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.223,
        "after": 0.0,
        "delta": -0.223,
        "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.83,
        "after": 4.0,
        "delta": -0.83,
        "percent_delta": -0.1718,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.22,
        "delta": 0.008,
        "percent_delta": 0.0377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.488,
        "after": 0.0,
        "delta": -0.488,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 1.0,
        "delta": -0.02,
        "percent_delta": -0.0196,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.2931,
        "delta": -0.0129,
        "percent_delta": -0.0422,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.363,
        "after": 0.3259,
        "delta": -0.0371,
        "percent_delta": -0.1022,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.562,
        "after": 0.0,
        "delta": -0.562,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.22,
        "delta": 0.008,
        "percent_delta": 0.0377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.83,
        "after": 4.0,
        "delta": -0.83,
        "percent_delta": -0.1718,
        "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.223-
predicted_3B0.000-
predicted_AB4.830-
predicted_AVG0.212-
predicted_BB0.488-
predicted_H1.020-
predicted_HR0.090-
predicted_OBP0.306-
predicted_R0.570-
predicted_RBI0.540-
predicted_SLG0.363-
predicted_SO0.562-
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.211-0.012
predicted_3B0.0000.000
predicted_AB4.451-0.379
predicted_AVG0.2230.011
predicted_BB0.462-0.026
predicted_H0.984-0.036
predicted_HBP0.016-
predicted_HR0.087-0.003
predicted_OBP0.3070.001
predicted_R0.5810.011
predicted_RBI0.499-0.041
predicted_SLG0.357-0.006
predicted_SO0.537-0.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.2110.000
predicted_3B0.0000.000
predicted_AB4.4510.000
predicted_AVG0.220-0.003
predicted_BB0.460-0.001
predicted_H0.979-0.005
predicted_HBP0.0160.000
predicted_HR0.087-0.001
predicted_OBP0.293-0.014
predicted_R0.577-0.004
predicted_RBI0.496-0.003
predicted_SLG0.326-0.031
predicted_SO0.5380.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.83), rates preserved: AVG=0.176 HR/AB=0.018

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.2140.214
3B0.0100.010
BB0.5990.599
H0.826-0.174
HR0.1020.102
RBI0.4400.440
SO0.714-0.286
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.786
3B0.000-0.010
AB4.0000.000
BB1.0000.401
H1.0000.174
HR0.000-0.102
R1.0000.000
RBI1.0000.560
SO1.0000.286
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.211
predicted_3B0.000-0.000
predicted_AB4.000-0.451
predicted_AVG0.206-0.014
predicted_BB0.000-0.460
predicted_H1.0000.021
predicted_HR0.000-0.087
predicted_OBP0.3140.021
predicted_R1.0000.423
predicted_RBI0.000-0.496
predicted_SLG0.3400.014
predicted_SO1.0000.462
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
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: 121
Reference playing time: 4.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-21.0004.0000.0000.0000.0002.0003.0002.0002.0000.19050.25000.19050.19050.00000.09520.09520.0952
last_100.2010-42.00012.0003.0000.0001.0005.0007.0003.0003.0000.28570.32610.42860.28570.02380.11910.07140.0714
season0.60121-461.000108.00027.0000.00012.00053.00069.00059.00068.0000.23430.32080.37090.23430.02600.11500.12800.1475
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0010
predicted_AB3.9570
predicted_AVG0.2365
predicted_BB0.4270
predicted_H0.9360
predicted_HBP0.0160
predicted_HR0.0840
predicted_OBP0.3076
predicted_R0.5960
predicted_RBI0.4460
predicted_SLG0.3496
predicted_SO0.5040
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22300.19500.2108model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.83003.95704.4508model_form_blend
predicted_AVG0.21200.23650.2226model_form_blend
predicted_BB0.48800.42700.4615model_form_blend
predicted_H1.02000.93600.9835model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.09000.08400.0874model_form_blend
predicted_OBP0.30600.30760.3067model_form_blend
predicted_R0.57000.59600.5813model_form_blend
predicted_RBI0.54000.44600.4992model_form_blend
predicted_SLG0.36300.34960.3572model_form_blend
predicted_SO0.56200.50400.5368model_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 date509
Season rows before report date509
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
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_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP2
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed3B
gameID20260926_CLE@KC
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-09-26
sl_k_percent12.7
sl_bb_percent11.0
sl_woba0.301
sl_xwoba0.325
sl_xba0.266
sl_xslg0.391
sl_sweet_spot_percent35.3
sl_barrel_batted_rate4.1
sl_hard_hit_percent38.8
sl_exit_velocity_avg88.6
sl_launch_angle_avg19.0
sl_whiff_percent15.3
sl_swing_percent45.4
Angel Martínez (682657) · BATTER · LF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 396
All-history rows before 20261003: 396
System season_avg: 0.2540
Data season_avg (2026 season-to-date): 0.2617
Diff (system - data): -0.0077
System opponent_avg: 0.3330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2240.0000.000Hitting_2B0.2400.000-0.2400.000
predicted_3B0.0190.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.3504.0004.000Hitting_AB3.8414.0000.1590.000
predicted_AVG0.2190.2500.250Hitting_AVG0.2620.000-0.0120.250
predicted_BB0.1210.0000.000Hitting_BB0.1340.000-0.1340.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.9501.0001.000Hitting_H1.0050.000-0.0051.000
predicted_HR0.2101.0001.000Hitting_HR0.1720.0000.8281.000
predicted_OBP0.2710.2500.250Hitting_OBP0.3000.000-0.0500.250
predicted_R0.4581.0001.000Hitting_R0.5000.0000.5001.000
predicted_RBI0.7402.0001.000Hitting_RBI0.6090.0001.3912.000
predicted_SLG0.4361.0001.000Hitting_SLG0.4660.0000.5341.000
predicted_SO0.8502.0001.000Hitting_SO0.9121.0001.0881.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_RBI: 0.7400 -> 2.0000 (boost 1.2600, better)
Biggest Deboostpredicted_AB: 4.3500 -> 4.0000 (deboost -0.3500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4360 -> 0.4583 (boost 0.0223, better)predicted_AB: 4.3500 -> 4.0580 (deboost -0.2920, 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.2768 -> 0.2532 (deboost -0.0236, 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.7302 -> 1.0000 (boost 0.2698, better)predicted_2B: 0.2421 -> 0.0000 (deboost -0.2421, worse)AB rounded to 4 (raw=4.35), rates preserved: AVG=0.185 HR/AB=0.046
6consistency_constraints10101-predicted_R: 0.4382 -> 0.0000 (deboost -0.4382, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2319 (boost 0.2319, better)predicted_RBI: 1.0000 -> 0.5422 (deboost -0.4578, 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_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2319 -> 0.0000 (deboost -0.2319, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51414predicted_OBP: 0.2532 -> 0.2740 (boost 0.0208, better)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_reference44031predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_SLG: 0.4030 -> 0.4463 (boost 0.0433, better)predicted_OBP: 0.2740 -> 0.2532 (deboost -0.0208, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682657",
  "player_name": "Angel Martínez",
  "position": "LF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.224,
        "predicted_3B": 0.019,
        "predicted_AB": 4.35,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.121,
        "predicted_H": 0.95,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.271,
        "predicted_R": 0.458,
        "predicted_RBI": 0.74,
        "predicted_SLG": 0.436,
        "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.2421,
        "predicted_3B": 0.016,
        "predicted_AB": 4.058,
        "predicted_AVG": 0.2319,
        "predicted_BB": 0.13,
        "predicted_H": 0.9349,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.204,
        "predicted_OBP": 0.2768,
        "predicted_R": 0.4412,
        "predicted_RBI": 0.7353,
        "predicted_SLG": 0.4583,
        "predicted_SO": 0.8182
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.224,
          "after": 0.2421,
          "delta": 0.0181,
          "percent_delta": 0.0808,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.016,
          "delta": -0.003,
          "percent_delta": -0.1579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.058,
          "delta": -0.292,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2319,
          "delta": 0.0129,
          "percent_delta": 0.0589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.121,
          "after": 0.13,
          "delta": 0.009,
          "percent_delta": 0.0744,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 0.9349,
          "delta": -0.0151,
          "percent_delta": -0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.204,
          "delta": -0.006,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.2768,
          "delta": 0.0058,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.458,
          "after": 0.4412,
          "delta": -0.0168,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.74,
          "after": 0.7353,
          "delta": -0.0047,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.436,
          "after": 0.4583,
          "delta": 0.0223,
          "percent_delta": 0.0511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.85,
          "after": 0.8182,
          "delta": -0.0318,
          "percent_delta": -0.0374,
          "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.436,
          "after": 0.4583,
          "delta": 0.0223,
          "percent_delta": 0.0511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.058,
          "delta": -0.292,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 107
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2421,
        "predicted_3B": 0.016,
        "predicted_AB": 4.058,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.1297,
        "predicted_H": 0.9306,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.2021,
        "predicted_OBP": 0.2532,
        "predicted_R": 0.4382,
        "predicted_RBI": 0.7302,
        "predicted_SLG": 0.4463,
        "predicted_SO": 0.8203
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2421,
          "after": 0.2421,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.058,
          "after": 4.058,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2319,
          "after": 0.2293,
          "delta": -0.0026,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.13,
          "after": 0.1297,
          "delta": -0.0003,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9349,
          "after": 0.9306,
          "delta": -0.0043,
          "percent_delta": -0.0046,
          "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.204,
          "after": 0.2021,
          "delta": -0.0019,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2768,
          "after": 0.2532,
          "delta": -0.0236,
          "percent_delta": -0.0853,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4412,
          "after": 0.4382,
          "delta": -0.003,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7353,
          "after": 0.7302,
          "delta": -0.0051,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4583,
          "after": 0.4463,
          "delta": -0.012,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8182,
          "after": 0.8203,
          "delta": 0.0021,
          "percent_delta": 0.0026,
          "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.2768,
          "after": 0.2532,
          "delta": -0.0236,
          "percent_delta": -0.0853,
          "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.185 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2421,
          "after": 0.0,
          "delta": -0.2421,
          "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": 4.058,
          "after": 4.0,
          "delta": -0.058,
          "percent_delta": -0.0143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1297,
          "after": 0.0,
          "delta": -0.1297,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9306,
          "after": 1.0,
          "delta": 0.0694,
          "percent_delta": 0.0746,
          "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.2021,
          "after": 0.0,
          "delta": -0.2021,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7302,
          "after": 1.0,
          "delta": 0.2698,
          "percent_delta": 0.3695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8203,
          "after": 1.0,
          "delta": 0.1797,
          "percent_delta": 0.2191,
          "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.7302,
          "after": 1.0,
          "delta": 0.2698,
          "percent_delta": 0.3695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2421,
          "after": 0.0,
          "delta": -0.2421,
          "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.4382,
          "after": 0.0,
          "delta": -0.4382,
          "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.4382,
          "after": 0.0,
          "delta": -0.4382,
          "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.2055,
        "predicted_3B": 0.0156,
        "predicted_BB": 0.2319,
        "predicted_H": 0.8265,
        "predicted_HR": 0.1448,
        "predicted_RBI": 0.5422,
        "predicted_SO": 1.074
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2055,
          "delta": 0.2055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0156,
          "delta": 0.0156,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2319,
          "delta": 0.2319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8265,
          "delta": -0.1735,
          "percent_delta": -0.1735,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1448,
          "delta": 0.1448,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5422,
          "delta": -0.4578,
          "percent_delta": -0.4578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.074,
          "delta": 0.074,
          "percent_delta": 0.074,
          "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.2319,
          "delta": 0.2319,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5422,
          "delta": -0.4578,
          "percent_delta": -0.4578,
          "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.2055,
          "after": 0.0,
          "delta": -0.2055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0156,
          "after": 0.0,
          "delta": -0.0156,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2319,
          "after": 0.0,
          "delta": -0.2319,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8265,
          "after": 1.0,
          "delta": 0.1735,
          "percent_delta": 0.2099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1448,
          "after": 1.0,
          "delta": 0.8552,
          "percent_delta": 5.9061,
          "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.5422,
          "after": 1.0,
          "delta": 0.4578,
          "percent_delta": 0.8443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.074,
          "after": 1.0,
          "delta": -0.074,
          "percent_delta": -0.0689,
          "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.2319,
          "after": 0.0,
          "delta": -0.2319,
          "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.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.274,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.222,
          "delta": -0.0073,
          "percent_delta": -0.0318,
          "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.2532,
          "after": 0.274,
          "delta": 0.0208,
          "percent_delta": 0.0821,
          "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.4463,
          "after": 0.403,
          "delta": -0.0433,
          "percent_delta": -0.097,
          "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_OBP",
          "before": 0.2532,
          "after": 0.274,
          "delta": 0.0208,
          "percent_delta": 0.0821,
          "direction": "boost",
          "projection_effect": "better",
          "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": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2293,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2532,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4463,
        "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.222,
          "after": 0.2293,
          "delta": 0.0073,
          "percent_delta": 0.033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.274,
          "after": 0.2532,
          "delta": -0.0208,
          "percent_delta": -0.076,
          "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.403,
          "after": 0.4463,
          "delta": 0.0433,
          "percent_delta": 0.1075,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.4463,
          "delta": 0.0433,
          "percent_delta": 0.1075,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.2532,
          "delta": -0.0208,
          "percent_delta": -0.076,
          "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.224,
        "after": 0.0,
        "delta": -0.224,
        "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.35,
        "after": 4.0,
        "delta": -0.35,
        "percent_delta": -0.0805,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.2293,
        "delta": 0.0103,
        "percent_delta": 0.047,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.121,
        "after": 0.0,
        "delta": -0.121,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 1.0,
        "delta": 0.05,
        "percent_delta": 0.0526,
        "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.271,
        "after": 0.2532,
        "delta": -0.0178,
        "percent_delta": -0.0657,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.458,
        "after": 1.0,
        "delta": 0.542,
        "percent_delta": 1.1834,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.74,
        "after": 2.0,
        "delta": 1.26,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.436,
        "after": 0.4463,
        "delta": 0.0103,
        "percent_delta": 0.0236,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.85,
        "after": 2.0,
        "delta": 1.15,
        "percent_delta": 1.3529,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.74,
        "after": 2.0,
        "delta": 1.26,
        "percent_delta": 1.7027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.35,
        "after": 4.0,
        "delta": -0.35,
        "percent_delta": -0.0805,
        "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.224-
predicted_3B0.019-
predicted_AB4.350-
predicted_AVG0.219-
predicted_BB0.121-
predicted_H0.950-
predicted_HR0.210-
predicted_OBP0.271-
predicted_R0.458-
predicted_RBI0.740-
predicted_SLG0.436-
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.2420.018
predicted_3B0.016-0.003
predicted_AB4.058-0.292
predicted_AVG0.2320.013
predicted_BB0.1300.009
predicted_H0.935-0.015
predicted_HBP0.039-
predicted_HR0.204-0.006
predicted_OBP0.2770.006
predicted_R0.441-0.017
predicted_RBI0.735-0.005
predicted_SLG0.4580.022
predicted_SO0.818-0.032
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.2420.000
predicted_3B0.0160.000
predicted_AB4.0580.000
predicted_AVG0.229-0.003
predicted_BB0.130-0.000
predicted_H0.931-0.004
predicted_HBP0.0390.000
predicted_HR0.202-0.002
predicted_OBP0.253-0.024
predicted_R0.438-0.003
predicted_RBI0.730-0.005
predicted_SLG0.446-0.012
predicted_SO0.8200.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.185 HR/AB=0.046

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.2050.205
3B0.0160.016
BB0.2320.232
H0.827-0.173
HR0.1450.145
RBI0.542-0.458
SO1.0740.074
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.205
3B0.000-0.016
AB4.0000.000
BB0.000-0.232
H1.0000.173
HR1.0000.855
R1.0001.000
RBI1.0000.458
SO1.000-0.074
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.242
predicted_3B0.000-0.016
predicted_AB4.000-0.058
predicted_AVG0.222-0.007
predicted_BB0.000-0.130
predicted_H1.0000.069
predicted_HR0.000-0.202
predicted_OBP0.2740.021
predicted_R0.000-0.438
predicted_RBI1.0000.270
predicted_SLG0.403-0.043
predicted_SO1.0000.180
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
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 107
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-18.0003.0001.0000.0001.0005.0001.0001.0003.0000.16670.21050.38890.16670.05560.27780.05560.1667
last_100.2010-38.00012.0005.0000.0003.00010.0005.0001.0007.0000.31580.33330.68420.31580.07900.26320.02630.1842
season0.60107-389.00099.00024.0002.00018.00062.00049.00013.00091.0000.25450.29020.46530.25450.04630.15940.03340.2339
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2660
predicted_3B0.0120
predicted_AB3.6710
predicted_AVG0.2491
predicted_BB0.1420
predicted_H0.9150
predicted_HBP0.0390
predicted_HR0.1960
predicted_OBP0.2844
predicted_R0.4190
predicted_RBI0.7290
predicted_SLG0.4879
predicted_SO0.7760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22400.26600.2421model_form_blend
predicted_3B0.01900.01200.0160model_form_blend
predicted_AB4.35003.67104.0580model_form_blend
predicted_AVG0.21900.24910.2319model_form_blend
predicted_BB0.12100.14200.1300model_form_blend
predicted_H0.95000.91500.9349model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.21000.19600.2040model_form_blend
predicted_OBP0.27100.28440.2768model_form_blend
predicted_R0.45800.41900.4412model_form_blend
predicted_RBI0.74000.72900.7353model_form_blend
predicted_SLG0.43600.48790.4583model_form_blend
predicted_SO0.85000.77600.8182model_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 date396
Season rows before report date396
Report year2026
Profile rows used107
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
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.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_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_CLE@KC
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-09-27
sl_k_percent21.9
sl_bb_percent3.1
sl_woba0.326
sl_xwoba0.299
sl_xba0.251
sl_xslg0.401
sl_sweet_spot_percent35.1
sl_barrel_batted_rate7.2
sl_hard_hit_percent35.5
sl_exit_velocity_avg87.5
sl_launch_angle_avg14.8
sl_whiff_percent20.7
sl_swing_percent54.3
Chase DeLauter (800050) · BATTER · RF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 527
All-history rows before 20261003: 527
System season_avg: 0.2860
Data season_avg (2026 season-to-date): 0.2815
Diff (system - data): 0.0045
System opponent_avg: 0.2060

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2190.0000.000Hitting_2B0.2220.000-0.2220.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.5004.0004.000Hitting_AB3.9304.0000.0700.000
predicted_AVG0.2440.0000.250Hitting_AVG0.2820.250-0.282-0.250
predicted_BB0.4450.0001.000Hitting_BB0.4651.000-0.465-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H1.1000.0001.000Hitting_H1.1061.000-1.106-1.000
predicted_HR0.1900.0000.000Hitting_HR0.1271.000-0.127-1.000
predicted_OBP0.3500.0000.400Hitting_OBP0.3560.400-0.356-0.400
predicted_R0.4610.0000.000Hitting_R0.4991.000-0.499-1.000
predicted_RBI0.6000.0001.000Hitting_RBI0.5641.000-0.564-1.000
predicted_SLG0.4500.0000.250Hitting_SLG0.4501.000-0.450-1.000
predicted_SO0.6331.0001.000Hitting_SO0.6490.0000.3511.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: 0.6330 -> 1.0000 (boost 0.3670, worse)
Biggest Deboostpredicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2440 -> 0.2503 (boost 0.0063, better)predicted_AB: 4.5000 -> 4.2036 (deboost -0.2964, 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.3521 -> 0.3248 (deboost -0.0273, 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.6660 -> 1.0000 (boost 0.3340, worse)predicted_RBI: 0.5484 -> 0.0000 (deboost -0.5484, worse)AB rounded to 4 (raw=4.50), rates preserved: AVG=0.202 HR/AB=0.038
6consistency_constraints10101-predicted_R: 0.4729 -> 0.0000 (deboost -0.4729, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5135 (boost 0.5135, better)predicted_SO: 1.0000 -> 0.8270 (deboost -0.1730, 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.4686 -> 1.0000 (boost 0.5314, better)predicted_2B: 0.1832 -> 0.0000 (deboost -0.1832, 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_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final22020predicted_SLG: 0.3790 -> 0.4358 (boost 0.0568, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "800050",
  "player_name": "Chase DeLauter",
  "position": "RF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.219,
        "predicted_3B": 0.023,
        "predicted_AB": 4.5,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.445,
        "predicted_H": 1.1,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.35,
        "predicted_R": 0.461,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.45,
        "predicted_SO": 0.633
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2307,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2036,
        "predicted_AVG": 0.2503,
        "predicted_BB": 0.4741,
        "predicted_H": 1.0509,
        "predicted_HBP": 0.061,
        "predicted_HR": 0.1739,
        "predicted_OBP": 0.3521,
        "predicted_R": 0.4762,
        "predicted_RBI": 0.5522,
        "predicted_SLG": 0.4504,
        "predicted_SO": 0.6643
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.219,
          "after": 0.2307,
          "delta": 0.0117,
          "percent_delta": 0.0534,
          "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.5,
          "after": 4.2036,
          "delta": -0.2964,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2503,
          "delta": 0.0063,
          "percent_delta": 0.0258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.445,
          "after": 0.4741,
          "delta": 0.0291,
          "percent_delta": 0.0654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0509,
          "delta": -0.0491,
          "percent_delta": -0.0446,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1739,
          "delta": -0.0161,
          "percent_delta": -0.0847,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.3521,
          "delta": 0.0021,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.461,
          "after": 0.4762,
          "delta": 0.0152,
          "percent_delta": 0.033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 0.5522,
          "delta": -0.0478,
          "percent_delta": -0.0797,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4504,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.633,
          "after": 0.6643,
          "delta": 0.0313,
          "percent_delta": 0.0494,
          "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.244,
          "after": 0.2503,
          "delta": 0.0063,
          "percent_delta": 0.0258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.5,
          "after": 4.2036,
          "delta": -0.2964,
          "percent_delta": -0.0659,
          "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": 128
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2307,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2036,
        "predicted_AVG": 0.2488,
        "predicted_BB": 0.4729,
        "predicted_H": 1.0461,
        "predicted_HBP": 0.061,
        "predicted_HR": 0.1723,
        "predicted_OBP": 0.3248,
        "predicted_R": 0.4729,
        "predicted_RBI": 0.5484,
        "predicted_SLG": 0.4358,
        "predicted_SO": 0.666
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2307,
          "after": 0.2307,
          "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.2036,
          "after": 4.2036,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2503,
          "after": 0.2488,
          "delta": -0.0015,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4741,
          "after": 0.4729,
          "delta": -0.0012,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0509,
          "after": 1.0461,
          "delta": -0.0048,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.061,
          "after": 0.061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1739,
          "after": 0.1723,
          "delta": -0.0016,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3521,
          "after": 0.3248,
          "delta": -0.0273,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4762,
          "after": 0.4729,
          "delta": -0.0033,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5522,
          "after": 0.5484,
          "delta": -0.0038,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4504,
          "after": 0.4358,
          "delta": -0.0146,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6643,
          "after": 0.666,
          "delta": 0.0017,
          "percent_delta": 0.0026,
          "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.3521,
          "after": 0.3248,
          "delta": -0.0273,
          "percent_delta": -0.0775,
          "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.50), rates preserved: AVG=0.202 HR/AB=0.038",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2307,
          "after": 0.0,
          "delta": -0.2307,
          "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.2036,
          "after": 4.0,
          "delta": -0.2036,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4729,
          "after": 0.0,
          "delta": -0.4729,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0461,
          "after": 1.0,
          "delta": -0.0461,
          "percent_delta": -0.0441,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.061,
          "after": 0.0,
          "delta": -0.061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1723,
          "after": 0.0,
          "delta": -0.1723,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5484,
          "after": 0.0,
          "delta": -0.5484,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.666,
          "after": 1.0,
          "delta": 0.334,
          "percent_delta": 0.5015,
          "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.666,
          "after": 1.0,
          "delta": 0.334,
          "percent_delta": 0.5015,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5484,
          "after": 0.0,
          "delta": -0.5484,
          "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.4729,
          "after": 0.0,
          "delta": -0.4729,
          "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.4729,
          "after": 0.0,
          "delta": -0.4729,
          "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.1832,
        "predicted_3B": 0.0196,
        "predicted_BB": 0.4686,
        "predicted_H": 0.8903,
        "predicted_HR": 0.1114,
        "predicted_RBI": 0.5135,
        "predicted_SO": 0.827
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1832,
          "delta": 0.1832,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0196,
          "delta": 0.0196,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4686,
          "delta": 0.4686,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8903,
          "delta": -0.1097,
          "percent_delta": -0.1097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1114,
          "delta": 0.1114,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5135,
          "delta": 0.5135,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.827,
          "delta": -0.173,
          "percent_delta": -0.173,
          "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.5135,
          "delta": 0.5135,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.827,
          "delta": -0.173,
          "percent_delta": -0.173,
          "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": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1832,
          "after": 0.0,
          "delta": -0.1832,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0196,
          "after": 0.0,
          "delta": -0.0196,
          "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.4686,
          "after": 1.0,
          "delta": 0.5314,
          "percent_delta": 1.134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8903,
          "after": 1.0,
          "delta": 0.1097,
          "percent_delta": 0.1232,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1114,
          "after": 0.0,
          "delta": -0.1114,
          "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.5135,
          "after": 1.0,
          "delta": 0.4865,
          "percent_delta": 0.9474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.827,
          "after": 1.0,
          "delta": 0.173,
          "percent_delta": 0.2092,
          "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.4686,
          "after": 1.0,
          "delta": 0.5314,
          "percent_delta": 1.134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1832,
          "after": 0.0,
          "delta": -0.1832,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.379,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2488,
          "after": 0.233,
          "delta": -0.0158,
          "percent_delta": -0.0635,
          "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.3248,
          "after": 0.322,
          "delta": -0.0028,
          "percent_delta": -0.0086,
          "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_SLG",
          "before": 0.4358,
          "after": 0.379,
          "delta": -0.0568,
          "percent_delta": -0.1303,
          "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": 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.2488,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3248,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2488,
          "delta": 0.0158,
          "percent_delta": 0.068,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.322,
          "after": 0.3248,
          "delta": 0.0028,
          "percent_delta": 0.0087,
          "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.379,
          "after": 0.4358,
          "delta": 0.0568,
          "percent_delta": 0.1499,
          "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.379,
          "after": 0.4358,
          "delta": 0.0568,
          "percent_delta": 0.1499,
          "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.219,
        "after": 0.0,
        "delta": -0.219,
        "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.5,
        "after": 4.0,
        "delta": -0.5,
        "percent_delta": -0.1111,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.2488,
        "delta": 0.0048,
        "percent_delta": 0.0197,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.445,
        "after": 0.0,
        "delta": -0.445,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.35,
        "after": 0.3248,
        "delta": -0.0252,
        "percent_delta": -0.072,
        "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.6,
        "after": 0.0,
        "delta": -0.6,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.45,
        "after": 0.4358,
        "delta": -0.0142,
        "percent_delta": -0.0316,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.633,
        "after": 1.0,
        "delta": 0.367,
        "percent_delta": 0.5798,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 0,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.633,
        "after": 1.0,
        "delta": 0.367,
        "percent_delta": 0.5798,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "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.023-
predicted_AB4.500-
predicted_AVG0.244-
predicted_BB0.445-
predicted_H1.100-
predicted_HR0.190-
predicted_OBP0.350-
predicted_R0.461-
predicted_RBI0.600-
predicted_SLG0.450-
predicted_SO0.633-
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.012
predicted_3B0.019-0.004
predicted_AB4.204-0.296
predicted_AVG0.2500.006
predicted_BB0.4740.029
predicted_H1.051-0.049
predicted_HBP0.061-
predicted_HR0.174-0.016
predicted_OBP0.3520.002
predicted_R0.4760.015
predicted_RBI0.552-0.048
predicted_SLG0.4500.000
predicted_SO0.6640.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.2310.000
predicted_3B0.0190.000
predicted_AB4.2040.000
predicted_AVG0.249-0.002
predicted_BB0.473-0.001
predicted_H1.046-0.005
predicted_HBP0.0610.000
predicted_HR0.172-0.002
predicted_OBP0.325-0.027
predicted_R0.473-0.003
predicted_RBI0.548-0.004
predicted_SLG0.436-0.015
predicted_SO0.6660.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.50), rates preserved: AVG=0.202 HR/AB=0.038

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.1830.183
3B0.0200.020
BB0.4690.469
H0.890-0.110
HR0.1110.111
RBI0.5130.513
SO0.827-0.173
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.183
3B0.000-0.020
AB4.0000.000
BB1.0000.531
H1.0000.110
HR0.000-0.111
R0.0000.000
RBI1.0000.487
SO1.0000.173
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.019
predicted_AB4.000-0.204
predicted_AVG0.233-0.016
predicted_BB0.000-0.473
predicted_H1.000-0.046
predicted_HR0.000-0.172
predicted_OBP0.322-0.003
predicted_R0.000-0.473
predicted_RBI0.000-0.548
predicted_SLG0.379-0.057
predicted_SO1.0000.334
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.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: 128
Reference playing time: 4.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-20.0004.0002.0000.0001.0002.0003.0003.0005.0000.20000.33330.45000.20000.05000.10000.15000.2500
last_100.2010-38.0009.0002.0000.0002.0005.0005.0007.0006.0000.23680.36960.44740.23680.05260.13160.18420.1579
season0.60128-482.000138.00028.0003.00016.00066.00059.00057.00081.0000.28630.36160.45640.28630.03320.13690.11830.1681
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2460
predicted_3B0.0140
predicted_AB3.8180
predicted_AVG0.2586
predicted_BB0.5120
predicted_H0.9870
predicted_HBP0.0610
predicted_HR0.1530
predicted_OBP0.3548
predicted_R0.4960
predicted_RBI0.4900
predicted_SLG0.4509
predicted_SO0.7050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21900.24600.2307model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.50003.81804.2036model_form_blend
predicted_AVG0.24400.25860.2503model_form_blend
predicted_BB0.44500.51200.4741model_form_blend
predicted_H1.10000.98701.0509model_form_blend
predicted_HBP-0.06100.0610form_only
predicted_HR0.19000.15300.1739model_form_blend
predicted_OBP0.35000.35480.3521model_form_blend
predicted_R0.46100.49600.4762model_form_blend
predicted_RBI0.60000.49000.5522model_form_blend
predicted_SLG0.45000.45090.4504model_form_blend
predicted_SO0.63300.70500.6643model_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 date527
Season rows before report date527
Report year2026
Profile rows used128
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.25
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_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
gameID20260926_CLE@KC
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-09-26
sl_k_percent14.7
sl_bb_percent10.7
sl_woba0.359
sl_xwoba0.346
sl_xba0.277
sl_xslg0.427
sl_sweet_spot_percent35.1
sl_barrel_batted_rate6.3
sl_hard_hit_percent46.3
sl_exit_velocity_avg91.4
sl_launch_angle_avg11.8
sl_whiff_percent15.0
sl_swing_percent42.3
Travis Bazzana (683953) · BATTER · 2B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 489
All-history rows before 20261003: 489
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2497
Diff (system - data): -0.0087
System opponent_avg: 0.2130

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1740.0000.000Hitting_2B0.1760.000-0.1760.000
predicted_3B0.0170.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.7904.0003.000Hitting_AB3.7104.0000.2900.000
predicted_AVG0.2390.5000.333Hitting_AVG0.2500.0000.2500.500
predicted_BB0.4460.0000.000Hitting_BB0.5030.000-0.5030.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.9102.0001.000Hitting_H0.9260.0001.0742.000
predicted_HR0.1100.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.2990.5000.333Hitting_OBP0.3450.0000.1550.500
predicted_R0.4461.0000.000Hitting_R0.4680.0000.5321.000
predicted_RBI0.3200.0000.000Hitting_RBI0.5240.000-0.5240.000
predicted_SB-0.0000.000BaseRunning_SB0.1720.000-0.1720.000
predicted_SLG0.3890.5000.333Hitting_SLG0.4050.0000.0950.500
predicted_SO0.8680.0001.000Hitting_SO0.9000.000-0.9000.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: 0.9100 -> 2.0000 (boost 1.0900, better)
Biggest Deboostpredicted_SO: 0.8680 -> 0.0000 (deboost -0.8680, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.3890 -> 0.3944 (boost 0.0054, better)predicted_AB: 3.7900 -> 3.7215 (deboost -0.0685, 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.2966 -> 0.3067 (boost 0.0101, better)predicted_SLG: 0.3944 -> 0.3883 (deboost -0.0061, 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.8639 -> 1.0000 (boost 0.1361, better)predicted_AB: 3.7215 -> 3.0000 (deboost -0.7215, worse)AB rounded to 3 (raw=3.79), rates preserved: AVG=0.198 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.4533 -> 0.0000 (deboost -0.4533, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4191 (boost 0.4191, better)predicted_H: 1.0000 -> 0.7146 (deboost -0.2854, 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_allocation51414predicted_H: 0.7146 -> 1.0000 (boost 0.2854, better)predicted_RBI: 0.4191 -> 0.0000 (deboost -0.4191, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context20202-predicted_SLG: 0.3883 -> 0.3520 (deboost -0.0363, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_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_final22020predicted_SLG: 0.3520 -> 0.3883 (boost 0.0363, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683953",
  "player_name": "Travis Bazzana",
  "position": "2B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.174,
        "predicted_3B": 0.017,
        "predicted_AB": 3.79,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.446,
        "predicted_H": 0.91,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.299,
        "predicted_R": 0.446,
        "predicted_RBI": 0.32,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.868
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1948,
        "predicted_3B": 0.0387,
        "predicted_AB": 3.7215,
        "predicted_AVG": 0.2324,
        "predicted_BB": 0.4013,
        "predicted_H": 0.8679,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.1039,
        "predicted_OBP": 0.2966,
        "predicted_R": 0.4564,
        "predicted_RBI": 0.3122,
        "predicted_SLG": 0.3944,
        "predicted_SO": 0.881
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.1948,
          "delta": 0.0208,
          "percent_delta": 0.1195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.0387,
          "delta": 0.0217,
          "percent_delta": 1.2765,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.7215,
          "delta": -0.0685,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2324,
          "delta": -0.0066,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.446,
          "after": 0.4013,
          "delta": -0.0447,
          "percent_delta": -0.1002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.8679,
          "delta": -0.0421,
          "percent_delta": -0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1039,
          "delta": -0.0061,
          "percent_delta": -0.0555,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2966,
          "delta": -0.0024,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.446,
          "after": 0.4564,
          "delta": 0.0104,
          "percent_delta": 0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.32,
          "after": 0.3122,
          "delta": -0.0078,
          "percent_delta": -0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3944,
          "delta": 0.0054,
          "percent_delta": 0.0139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.868,
          "after": 0.881,
          "delta": 0.013,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3944,
          "delta": 0.0054,
          "percent_delta": 0.0139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.7215,
          "delta": -0.0685,
          "percent_delta": -0.0181,
          "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.1948,
        "predicted_3B": 0.0387,
        "predicted_AB": 3.7215,
        "predicted_AVG": 0.2321,
        "predicted_BB": 0.4003,
        "predicted_H": 0.8639,
        "predicted_HBP": 0.034,
        "predicted_HR": 0.103,
        "predicted_OBP": 0.3067,
        "predicted_R": 0.4533,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.3883,
        "predicted_SO": 0.8833
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1948,
          "after": 0.1948,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0387,
          "after": 0.0387,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7215,
          "after": 3.7215,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2324,
          "after": 0.2321,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4013,
          "after": 0.4003,
          "delta": -0.001,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8679,
          "after": 0.8639,
          "delta": -0.004,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.034,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1039,
          "after": 0.103,
          "delta": -0.0009,
          "percent_delta": -0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2966,
          "after": 0.3067,
          "delta": 0.0101,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4564,
          "after": 0.4533,
          "delta": -0.0031,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3122,
          "after": 0.31,
          "delta": -0.0022,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3944,
          "after": 0.3883,
          "delta": -0.0061,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.881,
          "after": 0.8833,
          "delta": 0.0023,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2966,
          "after": 0.3067,
          "delta": 0.0101,
          "percent_delta": 0.0341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3944,
          "after": 0.3883,
          "delta": -0.0061,
          "percent_delta": -0.0155,
          "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.79), rates preserved: AVG=0.198 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1948,
          "after": 0.0,
          "delta": -0.1948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0387,
          "after": 0.0,
          "delta": -0.0387,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7215,
          "after": 3.0,
          "delta": -0.7215,
          "percent_delta": -0.1939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4003,
          "after": 0.0,
          "delta": -0.4003,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8639,
          "after": 1.0,
          "delta": 0.1361,
          "percent_delta": 0.1575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.034,
          "after": 0.0,
          "delta": -0.034,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.103,
          "after": 0.0,
          "delta": -0.103,
          "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_SO",
          "before": 0.8833,
          "after": 1.0,
          "delta": 0.1167,
          "percent_delta": 0.1321,
          "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.8639,
          "after": 1.0,
          "delta": 0.1361,
          "percent_delta": 0.1575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.7215,
          "after": 3.0,
          "delta": -0.7215,
          "percent_delta": -0.1939,
          "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.4533,
          "after": 0.0,
          "delta": -0.4533,
          "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.4533,
          "after": 0.0,
          "delta": -0.4533,
          "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.1492,
        "predicted_3B": 0.015,
        "predicted_BB": 0.4189,
        "predicted_H": 0.7146,
        "predicted_HR": 0.0989,
        "predicted_RBI": 0.4191,
        "predicted_SO": 0.9803
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1492,
          "delta": 0.1492,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.015,
          "delta": 0.015,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4189,
          "delta": 0.4189,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7146,
          "delta": -0.2854,
          "percent_delta": -0.2854,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0989,
          "delta": 0.0989,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4191,
          "delta": 0.4191,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9803,
          "delta": -0.0197,
          "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_RBI",
          "before": 0.0,
          "after": 0.4191,
          "delta": 0.4191,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7146,
          "delta": -0.2854,
          "percent_delta": -0.2854,
          "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.1492,
          "after": 0.0,
          "delta": -0.1492,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4189,
          "after": 0.0,
          "delta": -0.4189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7146,
          "after": 1.0,
          "delta": 0.2854,
          "percent_delta": 0.3994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0989,
          "after": 0.0,
          "delta": -0.0989,
          "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.4191,
          "after": 0.0,
          "delta": -0.4191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9803,
          "after": 1.0,
          "delta": 0.0197,
          "percent_delta": 0.0201,
          "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.7146,
          "after": 1.0,
          "delta": 0.2854,
          "percent_delta": 0.3994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4191,
          "after": 0.0,
          "delta": -0.4191,
          "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.304,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2321,
          "after": 0.211,
          "delta": -0.0211,
          "percent_delta": -0.0909,
          "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.3067,
          "after": 0.304,
          "delta": -0.0027,
          "percent_delta": -0.0088,
          "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.3883,
          "after": 0.352,
          "delta": -0.0363,
          "percent_delta": -0.0935,
          "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.3883,
          "after": 0.352,
          "delta": -0.0363,
          "percent_delta": -0.0935,
          "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": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2321,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3067,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3883,
        "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.211,
          "after": 0.2321,
          "delta": 0.0211,
          "percent_delta": 0.1002,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.304,
          "after": 0.3067,
          "delta": 0.0027,
          "percent_delta": 0.0089,
          "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.352,
          "after": 0.3883,
          "delta": 0.0363,
          "percent_delta": 0.1031,
          "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.352,
          "after": 0.3883,
          "delta": 0.0363,
          "percent_delta": 0.1031,
          "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.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.79,
        "after": 4.0,
        "delta": 0.21,
        "percent_delta": 0.0554,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2321,
        "delta": -0.0069,
        "percent_delta": -0.0289,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.446,
        "after": 0.0,
        "delta": -0.446,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.3067,
        "delta": 0.0077,
        "percent_delta": 0.0258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.446,
        "after": 1.0,
        "delta": 0.554,
        "percent_delta": 1.2422,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.3883,
        "delta": -0.0007,
        "percent_delta": -0.0018,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.868,
        "after": 0.0,
        "delta": -0.868,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.868,
        "after": 0.0,
        "delta": -0.868,
        "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.174-
predicted_3B0.017-
predicted_AB3.790-
predicted_AVG0.239-
predicted_BB0.446-
predicted_H0.910-
predicted_HR0.110-
predicted_OBP0.299-
predicted_R0.446-
predicted_RBI0.320-
predicted_SLG0.389-
predicted_SO0.868-
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.1950.021
predicted_3B0.0390.022
predicted_AB3.721-0.069
predicted_AVG0.232-0.007
predicted_BB0.401-0.045
predicted_H0.868-0.042
predicted_HBP0.034-
predicted_HR0.104-0.006
predicted_OBP0.297-0.002
predicted_R0.4560.010
predicted_RBI0.312-0.008
predicted_SLG0.3940.005
predicted_SO0.8810.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.1950.000
predicted_3B0.0390.000
predicted_AB3.7210.000
predicted_AVG0.232-0.000
predicted_BB0.400-0.001
predicted_H0.864-0.004
predicted_HBP0.0340.000
predicted_HR0.103-0.001
predicted_OBP0.3070.010
predicted_R0.453-0.003
predicted_RBI0.310-0.002
predicted_SLG0.388-0.006
predicted_SO0.8830.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.79), rates preserved: AVG=0.198 HR/AB=0.027

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.0150.015
BB0.4190.419
H0.715-0.285
HR0.0990.099
RBI0.4190.419
SO0.980-0.020
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.015
AB3.0000.000
BB0.000-0.419
H1.0000.285
HR0.000-0.099
R0.0000.000
RBI0.000-0.419
SO1.0000.020
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.195
predicted_3B0.000-0.039
predicted_AB3.000-0.721
predicted_AVG0.211-0.021
predicted_BB0.000-0.400
predicted_H1.0000.136
predicted_HR0.000-0.103
predicted_OBP0.304-0.003
predicted_R0.000-0.453
predicted_RBI0.000-0.310
predicted_SLG0.352-0.036
predicted_SO1.0000.117
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
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: 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-18.0004.0002.0001.0000.0000.0003.0001.0005.0000.22220.26320.44440.22220.00000.00000.05560.2778
last_100.2010-36.0006.0002.0001.0001.0001.0004.0002.0009.0000.16670.21050.36110.16670.02780.02780.05560.2500
season0.60121-440.000106.00021.0002.00015.00055.00054.00054.000105.0000.24090.33000.40000.24090.03410.12500.12270.2386
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2220
predicted_3B0.0670
predicted_AB3.6320
predicted_AVG0.2238
predicted_BB0.3430
predicted_H0.8130
predicted_HBP0.0340
predicted_HR0.0960
predicted_OBP0.2935
predicted_R0.4700
predicted_RBI0.3020
predicted_SLG0.4015
predicted_SO0.8980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.22200.1948model_form_blend
predicted_3B0.01700.06700.0387model_form_blend
predicted_AB3.79003.63203.7215model_form_blend
predicted_AVG0.23900.22380.2324model_form_blend
predicted_BB0.44600.34300.4013model_form_blend
predicted_H0.91000.81300.8679model_form_blend
predicted_HBP-0.03400.0340form_only
predicted_HR0.11000.09600.1039model_form_blend
predicted_OBP0.29900.29350.2966model_form_blend
predicted_R0.44600.47000.4564model_form_blend
predicted_RBI0.32000.30200.3122model_form_blend
predicted_SLG0.38900.40150.3944model_form_blend
predicted_SO0.86800.89800.8810model_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 date489
Season rows before report date489
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
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_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_SO0
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_CLE@KC
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-09-27
sl_k_percent20.7
sl_bb_percent10.8
sl_woba0.328
sl_xwoba0.299
sl_xba0.224
sl_xslg0.347
sl_sweet_spot_percent30.0
sl_barrel_batted_rate5.2
sl_hard_hit_percent36.2
sl_exit_velocity_avg87.6
sl_launch_angle_avg15.7
sl_whiff_percent23.2
sl_swing_percent45.9
Austin Hedges (595978) · BATTER · C · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 245
All-history rows before 20261003: 245
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2652
Diff (system - data): -0.0182
System opponent_avg: 0.3160
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.1350.0000.000Hitting_2B0.1550.000-0.1550.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9053.0003.000Hitting_AB2.9552.0000.0451.000
predicted_AVG0.2260.0000.000Hitting_AVG0.2650.000-0.2650.000
predicted_BB0.3381.0000.000Hitting_BB0.3590.0000.6411.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.5600.0000.000Hitting_H0.7840.000-0.7840.000
predicted_HR0.0800.0000.000Hitting_HR0.0900.000-0.0900.000
predicted_OBP0.3070.2500.000Hitting_OBP0.3450.000-0.0950.250
predicted_R0.3380.0000.000Hitting_R0.3710.000-0.3710.000
predicted_RBI0.3000.0000.000Hitting_RBI0.3840.000-0.3840.000
predicted_SLG0.3430.0000.000Hitting_SLG0.4090.000-0.4090.000
predicted_SO0.6081.0001.000Hitting_SO0.6041.0000.3960.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_BB: 0.3380 -> 1.0000 (boost 0.6620, better)
Biggest Deboostpredicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_R: 0.3380 -> 0.3919 (boost 0.0539, better)predicted_AVG: 0.2260 -> 0.2207 (deboost -0.0053, 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.2207 -> 0.2006 (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_scaling62415predicted_H: 0.5924 -> 1.0000 (boost 0.4076, better)predicted_BB: 0.3901 -> 0.0000 (deboost -0.3901, worse)AB rounded to 3 (raw=2.95), rates preserved: AVG=0.174 HR/AB=0.031
6consistency_constraints10101-predicted_R: 0.3892 -> 0.0000 (deboost -0.3892, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4202 (boost 0.4202, better)predicted_H: 1.0000 -> 0.6555 (deboost -0.3445, 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.7692 -> 1.0000 (boost 0.2308, worse)predicted_H: 0.6555 -> 0.0000 (deboost -0.6555, 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_reference21111predicted_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_final30303-predicted_OBP: 0.3130 -> 0.2939 (deboost -0.0191, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "595978",
  "player_name": "Austin Hedges",
  "position": "C",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.135,
        "predicted_3B": 0.0,
        "predicted_AB": 2.905,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.338,
        "predicted_H": 0.56,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.307,
        "predicted_R": 0.338,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.343,
        "predicted_SO": 0.608
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1546,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9531,
        "predicted_AVG": 0.2207,
        "predicted_BB": 0.3911,
        "predicted_H": 0.5951,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.093,
        "predicted_OBP": 0.3122,
        "predicted_R": 0.3919,
        "predicted_RBI": 0.3159,
        "predicted_SLG": 0.3604,
        "predicted_SO": 0.6402
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.135,
          "after": 0.1546,
          "delta": 0.0196,
          "percent_delta": 0.1452,
          "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.905,
          "after": 2.9531,
          "delta": 0.0481,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2207,
          "delta": -0.0053,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.338,
          "after": 0.3911,
          "delta": 0.0531,
          "percent_delta": 0.1571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.5951,
          "delta": 0.0351,
          "percent_delta": 0.0627,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.093,
          "delta": 0.013,
          "percent_delta": 0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3122,
          "delta": 0.0052,
          "percent_delta": 0.0169,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.338,
          "after": 0.3919,
          "delta": 0.0539,
          "percent_delta": 0.1595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.3159,
          "delta": 0.0159,
          "percent_delta": 0.053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3604,
          "delta": 0.0174,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.608,
          "after": 0.6402,
          "delta": 0.0322,
          "percent_delta": 0.053,
          "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_R",
          "before": 0.338,
          "after": 0.3919,
          "delta": 0.0539,
          "percent_delta": 0.1595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2207,
          "delta": -0.0053,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 74
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1546,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9531,
        "predicted_AVG": 0.2006,
        "predicted_BB": 0.3901,
        "predicted_H": 0.5924,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0922,
        "predicted_OBP": 0.2939,
        "predicted_R": 0.3892,
        "predicted_RBI": 0.3137,
        "predicted_SLG": 0.3468,
        "predicted_SO": 0.6419
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1546,
          "after": 0.1546,
          "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.9531,
          "after": 2.9531,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2207,
          "after": 0.2006,
          "delta": -0.0201,
          "percent_delta": -0.0911,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3911,
          "after": 0.3901,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5951,
          "after": 0.5924,
          "delta": -0.0027,
          "percent_delta": -0.0045,
          "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.093,
          "after": 0.0922,
          "delta": -0.0008,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3122,
          "after": 0.2939,
          "delta": -0.0183,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3919,
          "after": 0.3892,
          "delta": -0.0027,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3159,
          "after": 0.3137,
          "delta": -0.0022,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3604,
          "after": 0.3468,
          "delta": -0.0136,
          "percent_delta": -0.0377,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6402,
          "after": 0.6419,
          "delta": 0.0017,
          "percent_delta": 0.0027,
          "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.2207,
          "after": 0.2006,
          "delta": -0.0201,
          "percent_delta": -0.0911,
          "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.174 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.1546,
          "after": 0.0,
          "delta": -0.1546,
          "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.9531,
          "after": 3.0,
          "delta": 0.0469,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5924,
          "after": 1.0,
          "delta": 0.4076,
          "percent_delta": 0.688,
          "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.0922,
          "after": 0.0,
          "delta": -0.0922,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3137,
          "after": 0.0,
          "delta": -0.3137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6419,
          "after": 1.0,
          "delta": 0.3581,
          "percent_delta": 0.5579,
          "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.5924,
          "after": 1.0,
          "delta": 0.4076,
          "percent_delta": 0.688,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3901,
          "after": 0.0,
          "delta": -0.3901,
          "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.3892,
          "after": 0.0,
          "delta": -0.3892,
          "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.3892,
          "after": 0.0,
          "delta": -0.3892,
          "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.1517,
        "predicted_3B": 0.0093,
        "predicted_BB": 0.4202,
        "predicted_H": 0.6555,
        "predicted_HR": 0.0857,
        "predicted_RBI": 0.351,
        "predicted_SO": 0.7692
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1517,
          "delta": 0.1517,
          "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.4202,
          "delta": 0.4202,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6555,
          "delta": -0.3445,
          "percent_delta": -0.3445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0857,
          "delta": 0.0857,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.351,
          "delta": 0.351,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7692,
          "delta": -0.2308,
          "percent_delta": -0.2308,
          "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.4202,
          "delta": 0.4202,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6555,
          "delta": -0.3445,
          "percent_delta": -0.3445,
          "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.1517,
          "after": 0.0,
          "delta": -0.1517,
          "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.4202,
          "after": 0.0,
          "delta": -0.4202,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6555,
          "after": 0.0,
          "delta": -0.6555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0857,
          "after": 0.0,
          "delta": -0.0857,
          "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.351,
          "after": 0.0,
          "delta": -0.351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7692,
          "after": 1.0,
          "delta": 0.2308,
          "percent_delta": 0.3001,
          "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.7692,
          "after": 1.0,
          "delta": 0.2308,
          "percent_delta": 0.3001,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6555,
          "after": 0.0,
          "delta": -0.6555,
          "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.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2006,
          "after": 0.213,
          "delta": 0.0124,
          "percent_delta": 0.0618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2939,
          "after": 0.313,
          "delta": 0.0191,
          "percent_delta": 0.065,
          "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.3468,
          "after": 0.352,
          "delta": 0.0052,
          "percent_delta": 0.015,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2006,
        "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.2939,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3468,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2006,
          "delta": -0.0124,
          "percent_delta": -0.0583,
          "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.313,
          "after": 0.2939,
          "delta": -0.0191,
          "percent_delta": -0.0611,
          "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.352,
          "after": 0.3468,
          "delta": -0.0052,
          "percent_delta": -0.0147,
          "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.313,
          "after": 0.2939,
          "delta": -0.0191,
          "percent_delta": -0.0611,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.135,
        "after": 0.0,
        "delta": -0.135,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.905,
        "after": 3.0,
        "delta": 0.095,
        "percent_delta": 0.0327,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2006,
        "delta": -0.0254,
        "percent_delta": -0.1124,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.338,
        "after": 1.0,
        "delta": 0.662,
        "percent_delta": 1.9586,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "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.307,
        "after": 0.2939,
        "delta": -0.0131,
        "percent_delta": -0.0427,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.338,
        "after": 0.0,
        "delta": -0.338,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.343,
        "after": 0.3468,
        "delta": 0.0038,
        "percent_delta": 0.0111,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.608,
        "after": 1.0,
        "delta": 0.392,
        "percent_delta": 0.6447,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.338,
        "after": 1.0,
        "delta": 0.662,
        "percent_delta": 1.9586,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "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.135-
predicted_3B0.000-
predicted_AB2.905-
predicted_AVG0.226-
predicted_BB0.338-
predicted_H0.560-
predicted_HR0.080-
predicted_OBP0.307-
predicted_R0.338-
predicted_RBI0.300-
predicted_SLG0.343-
predicted_SO0.608-
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.1550.020
predicted_3B0.0000.000
predicted_AB2.9530.048
predicted_AVG0.221-0.005
predicted_BB0.3910.053
predicted_H0.5950.035
predicted_HBP0.010-
predicted_HR0.0930.013
predicted_OBP0.3120.005
predicted_R0.3920.054
predicted_RBI0.3160.016
predicted_SLG0.3600.017
predicted_SO0.6400.032
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.0000.000
predicted_AB2.9530.000
predicted_AVG0.201-0.020
predicted_BB0.390-0.001
predicted_H0.592-0.003
predicted_HBP0.0100.000
predicted_HR0.092-0.001
predicted_OBP0.294-0.018
predicted_R0.389-0.003
predicted_RBI0.314-0.002
predicted_SLG0.347-0.014
predicted_SO0.6420.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.174 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. 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.1520.152
3B0.0090.009
BB0.4200.420
H0.655-0.345
HR0.0860.086
RBI0.3510.351
SO0.769-0.231
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.009
AB3.0000.000
BB0.000-0.420
H0.000-0.655
HR0.000-0.086
R0.0000.000
RBI0.000-0.351
SO1.0000.231
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.000
predicted_AB3.0000.047
predicted_AVG0.2130.012
predicted_BB0.000-0.390
predicted_H1.0000.408
predicted_HR0.000-0.092
predicted_OBP0.3130.019
predicted_R0.000-0.389
predicted_RBI0.000-0.314
predicted_SLG0.3520.005
predicted_SO1.0000.358
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.0001.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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 74
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.0002.0001.0000.0001.0002.0004.0004.0004.0000.13330.31580.40000.13330.06670.13330.26670.2667
last_100.2010-29.0005.0003.0000.0001.0002.0005.0006.0007.0000.17240.31430.37930.17240.03450.06900.20690.2414
season0.6074-215.00053.00010.0000.0006.00025.00025.00025.00045.0000.24650.32510.37670.24650.02790.11630.11630.2093
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1820
predicted_3B0.0010
predicted_AB3.0200
predicted_AVG0.2134
predicted_BB0.4650
predicted_H0.6440
predicted_HBP0.0100
predicted_HR0.1110
predicted_OBP0.3194
predicted_R0.4670
predicted_RBI0.3380
predicted_SLG0.3847
predicted_SO0.6850
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13500.18200.1546model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.90503.02002.9531model_form_blend
predicted_AVG0.22600.21340.2207model_form_blend
predicted_BB0.33800.46500.3911model_form_blend
predicted_H0.56000.64400.5951model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.08000.11100.0930model_form_blend
predicted_OBP0.30700.31940.3122model_form_blend
predicted_R0.33800.46700.3919model_form_blend
predicted_RBI0.30000.33800.3159model_form_blend
predicted_SLG0.34300.38470.3604model_form_blend
predicted_SO0.60800.68500.6402model_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 used74
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_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
allPositionsPlayedDH
gameID20260927_CLE@KC
game_typefull
mlbID595978
playerID595978
playerNameAustin Hedges
posC
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-09-27
sl_k_percent18.2
sl_bb_percent10.1
sl_woba0.313
sl_xwoba0.28
sl_xba0.224
sl_xslg0.314
sl_sweet_spot_percent26.7
sl_barrel_batted_rate4.5
sl_hard_hit_percent32.4
sl_exit_velocity_avg85.8
sl_launch_angle_avg12.4
sl_whiff_percent24.1
sl_swing_percent44.5
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 568
All-history rows before 20261003: 568
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2505
Diff (system - data): 0.0025
System opponent_avg: 0.1520

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1680.0000.000Hitting_2B0.1651.000-0.165-1.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.8504.0003.000Hitting_AB3.6064.0000.3940.000
predicted_AVG0.2740.0000.333Hitting_AVG0.2500.750-0.250-0.750
predicted_BB0.2420.0000.000Hitting_BB0.2550.000-0.2550.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H1.0600.0001.000Hitting_H0.9033.000-0.903-3.000
predicted_HR0.1800.0000.000Hitting_HR0.0832.000-0.083-2.000
predicted_OBP0.3400.0000.333Hitting_OBP0.3120.750-0.312-0.750
predicted_R0.4300.0001.000Hitting_R0.4383.000-0.438-3.000
predicted_RBI0.5500.0000.000Hitting_RBI0.4442.000-0.444-2.000
predicted_SLG0.4610.0000.333Hitting_SLG0.3722.500-0.372-2.500
predicted_SO0.5641.0001.000Hitting_SO0.5810.0000.4191.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.5640 -> 1.0000 (boost 0.4360, worse)
Biggest Deboostpredicted_H: 1.0600 -> 0.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_blend32121predicted_R: 0.4300 -> 0.4923 (boost 0.0623, better)predicted_AB: 3.8500 -> 3.7215 (deboost -0.1285, 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.3400 -> 0.3233 (deboost -0.0167, 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.5603 -> 1.0000 (boost 0.4397, worse)predicted_AB: 3.7215 -> 3.0000 (deboost -0.7215, worse)AB rounded to 3 (raw=3.85), rates preserved: AVG=0.233 HR/AB=0.045
6consistency_constraints10101-predicted_R: 0.4889 -> 0.0000 (deboost -0.4889, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3939 (boost 0.3939, better)predicted_SO: 1.0000 -> 0.6406 (deboost -0.3594, 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.3939 -> 0.0000 (deboost -0.3939, 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_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
11current_json_final33030predicted_SLG: 0.3520 -> 0.4737 (boost 0.1217, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677587",
  "player_name": "Brayan Rocchio",
  "position": "SS",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.168,
        "predicted_3B": 0.013,
        "predicted_AB": 3.85,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.242,
        "predicted_H": 1.06,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.34,
        "predicted_R": 0.43,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.461,
        "predicted_SO": 0.564
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1906,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.7215,
        "predicted_AVG": 0.2782,
        "predicted_BB": 0.2529,
        "predicted_H": 1.0374,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.1743,
        "predicted_OBP": 0.34,
        "predicted_R": 0.4923,
        "predicted_RBI": 0.5491,
        "predicted_SLG": 0.4744,
        "predicted_SO": 0.5588
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.1906,
          "delta": 0.0226,
          "percent_delta": 0.1345,
          "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.85,
          "after": 3.7215,
          "delta": -0.1285,
          "percent_delta": -0.0334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.2782,
          "delta": 0.0042,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.242,
          "after": 0.2529,
          "delta": 0.0109,
          "percent_delta": 0.045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 1.0374,
          "delta": -0.0226,
          "percent_delta": -0.0213,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1743,
          "delta": -0.0057,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.34,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.4923,
          "delta": 0.0623,
          "percent_delta": 0.1449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.55,
          "after": 0.5491,
          "delta": -0.0009,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.4744,
          "delta": 0.0134,
          "percent_delta": 0.0291,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.564,
          "after": 0.5588,
          "delta": -0.0052,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.4923,
          "delta": 0.0623,
          "percent_delta": 0.1449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.85,
          "after": 3.7215,
          "delta": -0.1285,
          "percent_delta": -0.0334,
          "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": 149
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1906,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.7215,
        "predicted_AVG": 0.2775,
        "predicted_BB": 0.2522,
        "predicted_H": 1.0326,
        "predicted_HBP": 0.044,
        "predicted_HR": 0.1727,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.4889,
        "predicted_RBI": 0.5453,
        "predicted_SLG": 0.4737,
        "predicted_SO": 0.5603
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1906,
          "after": 0.1906,
          "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.7215,
          "after": 3.7215,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2782,
          "after": 0.2775,
          "delta": -0.0007,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2529,
          "after": 0.2522,
          "delta": -0.0007,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0374,
          "after": 1.0326,
          "delta": -0.0048,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.044,
          "after": 0.044,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1743,
          "after": 0.1727,
          "delta": -0.0016,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.3233,
          "delta": -0.0167,
          "percent_delta": -0.0491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4923,
          "after": 0.4889,
          "delta": -0.0034,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5491,
          "after": 0.5453,
          "delta": -0.0038,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4744,
          "after": 0.4737,
          "delta": -0.0007,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.5588,
          "after": 0.5603,
          "delta": 0.0015,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.34,
          "after": 0.3233,
          "delta": -0.0167,
          "percent_delta": -0.0491,
          "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.85), rates preserved: AVG=0.233 HR/AB=0.045",
      "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.1906,
          "after": 0.0,
          "delta": -0.1906,
          "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.7215,
          "after": 3.0,
          "delta": -0.7215,
          "percent_delta": -0.1939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2522,
          "after": 0.0,
          "delta": -0.2522,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0326,
          "after": 1.0,
          "delta": -0.0326,
          "percent_delta": -0.0316,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.044,
          "after": 0.0,
          "delta": -0.044,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1727,
          "after": 0.0,
          "delta": -0.1727,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5453,
          "after": 0.0,
          "delta": -0.5453,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5603,
          "after": 1.0,
          "delta": 0.4397,
          "percent_delta": 0.7848,
          "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.5603,
          "after": 1.0,
          "delta": 0.4397,
          "percent_delta": 0.7848,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.7215,
          "after": 3.0,
          "delta": -0.7215,
          "percent_delta": -0.1939,
          "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.4889,
          "after": 0.0,
          "delta": -0.4889,
          "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.4889,
          "after": 0.0,
          "delta": -0.4889,
          "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.1619,
        "predicted_3B": 0.012,
        "predicted_BB": 0.3022,
        "predicted_H": 0.7036,
        "predicted_HR": 0.0811,
        "predicted_RBI": 0.3939,
        "predicted_SO": 0.6406
      },
      "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.012,
          "delta": 0.012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3022,
          "delta": 0.3022,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7036,
          "delta": -0.2964,
          "percent_delta": -0.2964,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0811,
          "delta": 0.0811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3939,
          "delta": 0.3939,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6406,
          "delta": -0.3594,
          "percent_delta": -0.3594,
          "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.3939,
          "delta": 0.3939,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6406,
          "delta": -0.3594,
          "percent_delta": -0.3594,
          "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.1619,
          "after": 0.0,
          "delta": -0.1619,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3022,
          "after": 0.0,
          "delta": -0.3022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7036,
          "after": 1.0,
          "delta": 0.2964,
          "percent_delta": 0.4213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0811,
          "after": 0.0,
          "delta": -0.0811,
          "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.3939,
          "after": 0.0,
          "delta": -0.3939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6406,
          "after": 1.0,
          "delta": 0.3594,
          "percent_delta": 0.561,
          "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.3939,
          "after": 0.0,
          "delta": -0.3939,
          "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2775,
          "after": 0.219,
          "delta": -0.0585,
          "percent_delta": -0.2108,
          "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.3233,
          "after": 0.291,
          "delta": -0.0323,
          "percent_delta": -0.0999,
          "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.4737,
          "after": 0.352,
          "delta": -0.1217,
          "percent_delta": -0.2569,
          "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": 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": 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.2775,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4737,
        "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.219,
          "after": 0.2775,
          "delta": 0.0585,
          "percent_delta": 0.267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.291,
          "after": 0.3233,
          "delta": 0.0323,
          "percent_delta": 0.1111,
          "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.352,
          "after": 0.4737,
          "delta": 0.1217,
          "percent_delta": 0.3458,
          "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.352,
          "after": 0.4737,
          "delta": 0.1217,
          "percent_delta": 0.3458,
          "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.168,
        "after": 0.0,
        "delta": -0.168,
        "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.85,
        "after": 4.0,
        "delta": 0.15,
        "percent_delta": 0.039,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.274,
        "after": 0.2775,
        "delta": 0.0035,
        "percent_delta": 0.0128,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.242,
        "after": 0.0,
        "delta": -0.242,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "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.34,
        "after": 0.3233,
        "delta": -0.0167,
        "percent_delta": -0.0491,
        "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.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.461,
        "after": 0.4737,
        "delta": 0.0127,
        "percent_delta": 0.0275,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.564,
        "after": 1.0,
        "delta": 0.436,
        "percent_delta": 0.773,
        "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.564,
        "after": 1.0,
        "delta": 0.436,
        "percent_delta": 0.773,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "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.013-
predicted_AB3.850-
predicted_AVG0.274-
predicted_BB0.242-
predicted_H1.060-
predicted_HR0.180-
predicted_OBP0.340-
predicted_R0.430-
predicted_RBI0.550-
predicted_SLG0.461-
predicted_SO0.564-
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.1910.023
predicted_3B0.011-0.002
predicted_AB3.721-0.129
predicted_AVG0.2780.004
predicted_BB0.2530.011
predicted_H1.037-0.023
predicted_HBP0.044-
predicted_HR0.174-0.006
predicted_OBP0.3400.000
predicted_R0.4920.062
predicted_RBI0.549-0.001
predicted_SLG0.4740.013
predicted_SO0.559-0.005
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.1910.000
predicted_3B0.0110.000
predicted_AB3.7210.000
predicted_AVG0.278-0.001
predicted_BB0.252-0.001
predicted_H1.033-0.005
predicted_HBP0.0440.000
predicted_HR0.173-0.002
predicted_OBP0.323-0.017
predicted_R0.489-0.003
predicted_RBI0.545-0.004
predicted_SLG0.474-0.001
predicted_SO0.5600.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.85), rates preserved: AVG=0.233 HR/AB=0.045

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.1620.162
3B0.0120.012
BB0.3020.302
H0.704-0.296
HR0.0810.081
RBI0.3940.394
SO0.641-0.359
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.012
AB3.0000.000
BB0.000-0.302
H1.0000.296
HR0.000-0.081
R1.0001.000
RBI0.000-0.394
SO1.0000.359
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.191
predicted_3B0.000-0.011
predicted_AB3.000-0.721
predicted_AVG0.219-0.059
predicted_BB0.000-0.252
predicted_H1.000-0.033
predicted_HR0.000-0.173
predicted_OBP0.291-0.032
predicted_R0.000-0.489
predicted_RBI0.000-0.545
predicted_SLG0.352-0.122
predicted_SO1.0000.440
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: 149
Reference playing time: 3.850
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.0003.0004.0001.0003.0000.31580.35000.68420.31580.10530.15790.05260.1579
last_100.2010-34.00012.0004.0000.0002.0008.0008.0004.0004.0000.35290.42110.64710.35290.05880.23530.11770.1177
season0.60149-522.000132.00025.0002.00013.00067.00064.00036.00084.0000.25290.31240.38310.25290.02490.12830.06900.1609
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2200
predicted_3B0.0080
predicted_AB3.5550
predicted_AVG0.2836
predicted_BB0.2670
predicted_H1.0080
predicted_HBP0.0440
predicted_HR0.1670
predicted_OBP0.3399
predicted_R0.5730
predicted_RBI0.5480
predicted_SLG0.4917
predicted_SO0.5520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.22000.1906model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.85003.55503.7215model_form_blend
predicted_AVG0.27400.28360.2782model_form_blend
predicted_BB0.24200.26700.2529model_form_blend
predicted_H1.06001.00801.0374model_form_blend
predicted_HBP-0.04400.0440form_only
predicted_HR0.18000.16700.1743model_form_blend
predicted_OBP0.34000.33990.3400model_form_blend
predicted_R0.43000.57300.4923model_form_blend
predicted_RBI0.55000.54800.5491model_form_blend
predicted_SLG0.46100.49170.4744model_form_blend
predicted_SO0.56400.55200.5588model_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 date568
Season rows before report date568
Report year2026
Profile rows used149
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.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR2
Hitting_IBB0
Hitting_R3
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB10
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
allPositionsPlayedSS
gameID20260926_CLE@KC
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-09-26
sl_k_percent14.4
sl_bb_percent6.4
sl_woba0.311
sl_xwoba0.294
sl_xba0.246
sl_xslg0.35
sl_sweet_spot_percent34.9
sl_barrel_batted_rate2.9
sl_hard_hit_percent30.0
sl_exit_velocity_avg87.0
sl_launch_angle_avg13.8
sl_whiff_percent22.1
sl_swing_percent50.0
Parker Messick (800048) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 32
All-history rows before 20261003: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.5311.000-0.5310.000
predicted_ER3.0003.0003.000Pitching_ER1.6561.0001.3442.000
predicted_H5.0005.0005.000Pitching_H4.6566.0000.344-1.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.6193.0000.3813.000
predicted_SO5.0005.0005.000Pitching_SO6.0312.000-1.0313.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_SO: 4.0000 -> 5.0000 (boost 1.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final10101-predicted_SO: 6.0000 -> 5.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": "800048",
  "player_name": "Parker Messick",
  "position": "Starter",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 3.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "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": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "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": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "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_ER3.000-
predicted_H5.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO4.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_ER3.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO6.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: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45525.1009.00028.0006.00032.0003.0003.19741.34210.35531.10530.23681.26320.1184
last_100.351056.20016.00049.00012.00065.0006.0002.54121.07650.28230.86470.21181.14710.1059
season0.2032186.10053.000149.00049.000193.00017.0002.55991.06260.28440.79960.26301.03580.0912
Weighted Prediction From Real Data
MetricValue
predicted_BB1.3800
predicted_ER1.8650
predicted_ERA3.0793
predicted_H5.2520
predicted_HR0.6210
predicted_IP5.1000
predicted_SO6.2380
predicted_WHIP1.2162
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.38001.2253model_form_blend
predicted_ER3.00001.86502.3270model_form_blend
predicted_ERA-3.07933.0793form_only
predicted_H5.00005.25205.1494model_form_blend
predicted_HR0.00000.62100.3682model_form_blend
predicted_IP6.00005.10005.2000model_form_blend
predicted_SO4.00006.23805.3270model_form_blend
predicted_WHIP-1.21621.2162form_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
IP6.0
H5
R3
ER3
BB1
SO5
HR0
BF26
Pitches101

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 Faced16
Pitching_ER1
Pitching_ERA2.56
Pitching_Flyouts3
Pitching_Groundouts3
Pitching_H6
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches64
Pitching_R1
Pitching_SO2
Pitching_Strikes42
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260927_CLE@KC
game_typefull
mlbID800048
playerID800048
playerNameParker Messick
posP
startedTrue
startingPositionP
teamCLE
teamID8
game_date2026-09-27
sl_k_percent25.8
sl_bb_percent6.6
sl_woba0.274
sl_xwoba0.275
sl_sweet_spot_percent30.7
sl_barrel_batted_rate5.0
sl_hard_hit_percent34.3
sl_whiff_percent25.5
sl_swing_percent48.6
sl_avg_best_speed76.354216626
sl_avg_hyper_speed93.483966904
Cade Smith (671922) · PITCHER · Closer · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 69
All-history rows before 20261003: 69

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3330.000-0.3330.000
predicted_ER0.0000.0000.000Pitching_ER0.2320.000-0.2320.000
predicted_H0.0000.0000.000Pitching_H0.6960.000-0.6960.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0010.200-0.0010.800
predicted_SO0.0000.0000.000Pitching_SO1.5510.000-1.5510.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": "671922",
  "player_name": "Cade Smith",
  "position": "Closer",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 69
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.0001.0009.0000.0000.00000.40000.00000.20000.20001.80000.0000
last_100.351012.0000.0002.0002.00019.0000.0000.00000.33330.00000.16670.16671.58330.0000
season0.206974.00016.00048.00023.000107.0005.0001.94590.95950.21620.64860.31081.44600.0676
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2740
predicted_ER0.1730
predicted_ERA1.4312
predicted_H0.4920
predicted_HR0.0510
predicted_IP1.0000
predicted_SO1.6050
predicted_WHIP0.7046
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27400.1495model_form_blend
predicted_ER0.00000.17300.0944model_form_blend
predicted_ERA-1.43121.4312form_only
predicted_H0.00000.49200.2685model_form_blend
predicted_HR0.00000.05100.0278model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.60500.8758model_form_blend
predicted_WHIP-0.70460.7046form_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 date69
Season rows before report date69
Report year2026
Profile rows used69
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
SO0
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_BB0
Pitching_Balk0
Pitching_Batters Faced2
Pitching_ER0
Pitching_ERA1.95
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches5
Pitching_R0
Pitching_SO0
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260926_CLE@KC
game_typefull
mlbID671922
playerID671922
playerNameCade Smith
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-09-26
sl_k_percent36.3
sl_bb_percent7.8
sl_woba0.241
sl_xwoba0.261
sl_sweet_spot_percent35.4
sl_barrel_batted_rate8.7
sl_hard_hit_percent42.8
sl_whiff_percent34.5
sl_swing_percent49.6
sl_avg_best_speed82.0535845
sl_avg_hyper_speed94.653655813
Erik Sabrowski (681870) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 60
All-history rows before 20261003: 60

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5170.0000.4831.000
predicted_ER1.0001.0001.000Pitching_ER0.2330.0000.7671.000
predicted_H1.0001.0001.000Pitching_H0.4331.0000.5670.000
predicted_IP2.0002.0002.000Pitching_InningsPitched0.6381.0001.3621.000
predicted_SO0.0000.0000.000Pitching_SO1.2671.000-1.267-1.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 -> 2.0000 (boost 1.0000, 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 -> 2.0000 (boost 1.0000, 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": "681870",
  "player_name": "Erik Sabrowski",
  "position": "Middle Reliever (High Leverage)",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 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": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "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_BB1.000-
predicted_ER1.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: 58
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.2000.0001.0005.0008.0000.0000.00001.28570.00000.21431.07141.71430.0000
last_100.35109.1001.0002.0006.00011.0000.0000.96430.85710.10710.21430.64291.17860.0000
season0.205848.10013.00024.00027.00076.0003.0002.42071.05520.26900.49650.55861.57240.0621
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6420
predicted_ER0.2220
predicted_ERA2.0875
predicted_H0.4870
predicted_HR0.0550
predicted_IP1.0000
predicted_SO1.2510
predicted_WHIP1.1811
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.64200.8178model_form_blend
predicted_ER1.00000.22200.6042model_form_blend
predicted_ERA-2.08752.0875form_only
predicted_H1.00000.48700.7390model_form_blend
predicted_HR0.00000.05500.0280model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.25101.1277model_form_blend
predicted_WHIP-1.18111.1811form_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 date60
Season rows before report date60
Report year2026
Profile rows used58
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H1
R1
ER1
BB1
SO0
HR0
BF8
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_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.61
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260925_CLE@KC
game_typefull
mlbID681870
playerID681870
playerNameErik Sabrowski
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-09-25
sl_k_percent37.4
sl_bb_percent15.3
sl_woba0.258
sl_xwoba0.251
sl_sweet_spot_percent39.4
sl_barrel_batted_rate6.5
sl_hard_hit_percent34.0
sl_whiff_percent30.8
sl_swing_percent46.1
sl_avg_best_speed79.988533696
sl_avg_hyper_speed93.73779337
Hunter Gaddis (683769) · PITCHER · Setup Man · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 68
All-history rows before 20261003: 68

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3240.0000.6761.000
predicted_ER0.0000.0000.000Pitching_ER0.2942.000-0.294-2.000
predicted_H1.0001.0001.000Pitching_H0.8093.0000.191-2.000
predicted_IP0.0001.0000.000Pitching_InningsPitched0.7501.0000.2500.000
predicted_SO0.0000.0000.000Pitching_SO0.8380.000-0.8380.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": "683769",
  "player_name": "Hunter Gaddis",
  "position": "Setup Man",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 67
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.2003.0008.0001.0004.0002.0005.78571.92860.64291.71430.21430.85710.4286
last_100.35109.2004.00013.0002.0009.0002.0003.72411.55170.41381.34480.20690.93100.2069
season0.206760.10019.00053.00020.00057.0007.0002.83431.20990.31490.87840.33150.94470.1160
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2760
predicted_ER0.5010
predicted_ERA4.5128
predicted_H1.2930
predicted_HR0.2480
predicted_IP1.0000
predicted_SO0.9100
predicted_WHIP1.5699
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.27600.6171model_form_blend
predicted_ER0.00000.50100.2649model_form_blend
predicted_ERA-4.51284.5128form_only
predicted_H1.00001.29301.1549model_form_blend
predicted_HR0.00000.24800.1311model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.91000.4812model_form_blend
predicted_WHIP-1.56991.5699form_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 used67
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
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_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER2
Pitching_ERA2.98
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R2
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionW, BS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260925_CLE@KC
game_typefull
mlbID683769
playerID683769
playerNameHunter Gaddis
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-09-25
sl_k_percent22.2
sl_bb_percent8.6
sl_woba0.3
sl_xwoba0.311
sl_sweet_spot_percent33.7
sl_barrel_batted_rate7.5
sl_hard_hit_percent29.9
sl_whiff_percent29.5
sl_swing_percent51.7
sl_avg_best_speed75.512971294
sl_avg_hyper_speed92.352765294

20261003_NYY@TB

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": 3, "home_runs": 4, "confidence": 0.5183652275, "home_win_probability": 0.5183652275, "away_win_probability": 0.4816347725, "predicted_score_text": "NYY 3 - 4 TB", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "NYY", "original_runs": 3, "run_delta": -0.0719, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.3712650738717067, "contact": 0.2923451201301565, "power": 0.6038552162452798, "discipline": -0.06558629625440751, "xwoba": 0.325125, "recent_xwoba": 0.325125, "barrel": 10.384375, "ab_hard_contact": 0.31724718204845415, "ab_bat_speed": 71.48103826495975, "ab_strikeout_rate": 0.25758627614501245, "available_players": 9, "top_players": [{"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 4.0, "quality": 1.087455864958446, "contact": 1.102908770681462, "power": 1.4654990995142887, "discipline": 0.4116136264733387, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 14.3, "ab_hard_contact": 0.8840772283810031, "ab_bat_speed": 71.42264696813977, "ab_strikeout_rate": 0.24306269270298048, "available": 1.0}, {"player_id": "682987", "player_name": "Spencer Jones", "position": "RF", "weight": 4.0, "quality": 0.6373945767717583, "contact": 0.4077599396847543, "power": 1.4860424110055006, "discipline": -0.9999799104388146, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 15.9, "ab_hard_contact": 0.47646726772906267, "ab_bat_speed": 75.76573781567421, "ab_strikeout_rate": 0.39008480104370513, "available": 1.0}, {"player_id": "671277", "player_name": "Luis García Jr.", "position": "1B", "weight": 4.0, "quality": 0.7595045506648707, "contact": 0.861931382993387, "power": 1.1209123212862522, "discipline": -0.21995825639303895, "xwoba": 0.341, "recent_xwoba": 0.341, "barrel": 12.2, "ab_hard_contact": 0.5980559495345648, "ab_bat_speed": 73.31642951280269, "ab_strikeout_rate": 0.18442028985507247, "available": 1.0}, {"player_id": "663757", "player_name": "Trent Grisham", "position": "CF", "weight": 3.0, "quality": 0.6230206835494977, "contact": 0.575736295906865, "power": 0.5974478601682933, "discipline": 0.8456044691973896, "xwoba": 0.337, "recent_xwoba": 0.337, "barrel": 9.6, "ab_hard_contact": 0.5188619652706342, "ab_bat_speed": 68.83768257479983, "ab_strikeout_rate": 0.1951432785503582, "available": 1.0}, {"player_id": "641355", "player_name": "Cody Bellinger", "position": "LF", "weight": 4.0, "quality": 0.35499485401287234, "contact": 0.5371143115167526, "power": 0.11708476104801911, "discipline": 0.6290552874302875, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 6.6, "ab_hard_contact": 0.3618856971508627, "ab_bat_speed": 69.03931248346561, "ab_strikeout_rate": 0.15433531746031745, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "656876", "player_name": "Drew Rasmussen", "quality": 0.6182814444534327, "contact": 1.0171578568330801, "command": 0.22668001621945089, "movement": 0.6565394874689043, "xwoba": 0.271, "whiff": 25.1, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "TB", "original_runs": 4, "run_delta": -0.1452, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 34.0, "quality": -0.051150155850923334, "contact": 0.042399953967157684, "power": -0.1938720565793727, "discipline": 0.3607605737218511, "xwoba": 0.31091176470588233, "recent_xwoba": 0.31091176470588233, "barrel": 6.21764705882353, "ab_hard_contact": -0.1388753052569244, "ab_bat_speed": 69.32301883592007, "ab_strikeout_rate": 0.17487582948808156, "available_players": 9, "top_players": [{"player_id": "670764", "player_name": "Taylor Walls", "position": "SS", "weight": 3.0, "quality": -1.2211603892215785, "contact": -1.4618171461646536, "power": -1.4611297727575647, "discipline": 0.23344038844038856, "xwoba": 0.251, "recent_xwoba": 0.251, "barrel": 2.2, "ab_hard_contact": -1.3803097408655776, "ab_bat_speed": 62.476628427128425, "ab_strikeout_rate": 0.25287878787878787, "available": 1.0}, {"player_id": "691406", "player_name": "Junior Caminero", "position": "3B", "weight": 4.0, "quality": 1.058762635372624, "contact": 1.130513574843884, "power": 1.3706481342961112, "discipline": 0.48802659082860445, "xwoba": 0.364, "recent_xwoba": 0.364, "barrel": 13.1, "ab_hard_contact": 0.6750579240174572, "ab_bat_speed": 78.50223418024927, "ab_strikeout_rate": 0.1879354426334292, "available": 1.0}, {"player_id": "802415", "player_name": "Chandler Simpson", "position": "LF", "weight": 4.0, "quality": -0.9110194281641746, "contact": -0.6526549396922096, "power": -1.5395710951890698, "discipline": 0.4417229030272509, "xwoba": 0.263, "recent_xwoba": 0.263, "barrel": 0.0, "ab_hard_contact": -1.495802856162344, "ab_bat_speed": 61.551209390568886, "ab_strikeout_rate": 0.07531055900621117, "available": 1.0}, {"player_id": "676356", "player_name": "Jonny DeLuca", "position": "CF", "weight": 4.0, "quality": -0.8065424546786999, "contact": -0.8296022178520241, "power": -0.8436024193091856, "discipline": -0.46482626881539924, "xwoba": 0.261, "recent_xwoba": 0.261, "barrel": 3.6, "ab_hard_contact": -0.058715052850377314, "ab_bat_speed": 71.46409786922015, "ab_strikeout_rate": 0.20643115942028986, "available": 1.0}, {"player_id": "650490", "player_name": "Yandy Díaz", "position": "DH", "weight": 4.0, "quality": 0.7428743419780521, "contact": 1.0809664857729493, "power": 0.5370941676355072, "discipline": 0.5679201615408511, "xwoba": 0.346, "recent_xwoba": 0.346, "barrel": 7.1000000000000005, "ab_hard_contact": 0.7445500193768086, "ab_bat_speed": 72.70592586206897, "ab_strikeout_rate": 0.14482758620689656, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "543037", "player_name": "Gerrit Cole", "quality": 0.052753597833751276, "contact": 0.03111669057490587, "command": 0.013822873362307975, "movement": 0.3270076126149099, "xwoba": 0.3, "whiff": 21.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": 3, "home_runs": 4, "winner_side": "home"}, "adjusted_score": {"away_runs": 3, "home_runs": 4, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": -0.1757, "recent_form_edge_home_minus_away": -0.182, "pitcher_matchup_edge_home_minus_away": 0.0269, "composite_home_edge": 0.097, "existing_home_win_probability": 0.5254, "refreshed_home_win_probability": 0.5484, "winner_support_before_review": 0.097}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.525419, "uncapped_away_win_probability": 0.474581, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.525419, "discount_factor": 0.7225, "published_confidence": 0.518365, "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.548371, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.518365, "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": 3, "home_runs": 4, "predicted_score_text": "NYY 3 - 4 TB", "confidence": 0.5183652275, "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": 3, "home_runs": 4, "score_text": "NYY 3 - 4 TB", "winner": "TB"}, "final_simulation_score": {"away_runs": 3, "home_runs": 4, "score_text": "NYY 3 - 4 TB", "winner": "TB"}, "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.0269, "recent_form_edge_home_minus_away": -0.182, "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": 3, "home_runs": 4, "winner": "TB", "model_winner": "TB", "simulation_winner": "TB", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 3, "published_winner": "TB", "published_winner_draw_share": 0.6667, "draw_majority_team": "TB", "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": 3, "home_runs": 4}, "simulation_score": {"away_runs": 3, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": -0.1757, "winner": "TB", "score_reviewed": {"away_runs": 3, "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": "TB", "display_confidence": 0.5184, "internal_signal_score": 0.5631, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5184, "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.1757, "winner_recent_form_edge": 0.028, "winner_pitcher_matchup_edge": 0.0269, "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": 5, "median": 5, "max": 7, "range": 2}}, "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 predictionNYY 3 - 4 TBTB0.518enhanced_prediction.pre_simulation_targetTrue
Simulation drawNYY 3 - 4 TBTB-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.4903; empirical=0.5620; weight=0.5000; final=0.5261
P1H2H margin as base featureavailablehome net=-14; abs=14; home delta=-0.0808; away delta=0.0808
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.2853; recent edge=0.0280; 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.5000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5184
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.3304.765-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction340.5184Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4embedded_savant_run_environment34-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review34-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target34-Capped at max 12 realistic runs
7simulation_result34-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6753413333333335,
  "base_low_score_probability": 0.42592592592592593,
  "low_score_signal_threshold": 0.5059259259259259,
  "low_score_signal_strength": 0.24941540740740753,
  "confidence": 0.8927920000000001,
  "factors": {
    "environmental": 1.05,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.5855840000000003
  },
  "prediction": "low_scoring",
  "expected_total_runs": 7,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.5,
  "low_score_model_expected_total_runs": 6.5,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 815,
  "near_bucket_sample_size": 815,
  "medium_bucket_sample_size": 884,
  "wide_bucket_sample_size": 1086,
  "global_sample_size": 1125,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.562,
  "bayesian_hit_rate": 0.5606,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5409,
  "raw_pick_probability_unclamped": 0.5409,
  "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.5258,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.54092,
  "uncapped_away_win_probability": 0.45908,
  "calibrated_pick_probability": 0.5254,
  "predicted_side": "home",
  "reliability": 0.978391,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.985954
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.490254,
  "sample_size": 815,
  "empirical_hit_rate": 0.562,
  "empirical_weight": 0.5,
  "blended_confidence": 0.526127,
  "published_confidence": 0.518365,
  "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": -14.0,
  "absolute_net_margin": 14.0,
  "home_average_margin": -2.8,
  "home_run_delta": -0.0808,
  "away_run_delta": 0.0808,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -7.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -8.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": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049382716049383,
    "runs_scored": 736,
    "runs_allowed": 650,
    "run_differential": 86,
    "run_differential_per_game": 0.5308641975308642,
    "available": true
  },
  "away": {
    "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
  },
  "run_differential_edge_per_game": -0.3263,
  "win_pct_edge": 0.0273,
  "quality_edge": -0.1757,
  "season_quality_edge": -0.2853,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2853,
    "recent_quality_edge": 0.028,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.1757
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.02330248749325166
    },
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.023222854227010863
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.023083427806788986
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.023004543148967774
    },
    {
      "home_runs": 4,
      "away_runs": 2,
      "probability": 0.02066254278454156
    }
  ],
  "home_distribution": {
    "0": 0.06999058682318827,
    "1": 0.10249378597138088,
    "2": 0.1323218909937819,
    "3": 0.15060594794232982,
    "4": 0.15112238935098274,
    "5": 0.13368779528801952,
    "6": 0.10426318154822485,
    "7": 0.0716879971844097,
    "8": 0.043454842844252925,
    "9": 0.023222350849202135,
    "10": 0.010940834359288339,
    "11": 0.004544341558133142,
    "12": 0.0016640552868057948
  },
  "away_distribution": {
    "0": 0.07285450579554124,
    "1": 0.1064917431133728,
    "2": 0.13672721079437586,
    "3": 0.15419612933151472,
    "4": 0.15274657782956022,
    "5": 0.13290735191451863,
    "6": 0.10157948820433715,
    "7": 0.06819342994486619,
    "8": 0.04021226616538831,
    "9": 0.020828311363539215,
    "10": 0.009476087743101751,
    "11": 0.0037868977998838016
  },
  "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",
    "recent head-to-head margin does not support a strong repeat pick",
    "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": "TB",
    "opponent_team": "NYY",
    "h2h_net_margin": -4,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-24",
        "predicted_team_runs": 4,
        "opponent_runs": 6,
        "margin_for_predicted_team": -2,
        "winner": "NYY"
      },
      {
        "date": "2026-09-23",
        "predicted_team_runs": 2,
        "opponent_runs": 9,
        "margin_for_predicted_team": -7,
        "winner": "NYY"
      },
      {
        "date": "2026-09-22",
        "predicted_team_runs": 6,
        "opponent_runs": 1,
        "margin_for_predicted_team": 5,
        "winner": "TB"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 6,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260924",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 2,
          "raw_pick_probability": 0.531136,
          "artifact": "20260924_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260923",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "NYY",
          "actual_margin": 7,
          "raw_pick_probability": 0.505259,
          "artifact": "20260923_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260922",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 2,
          "raw_pick_probability": 0.534918,
          "artifact": "20260922_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260922",
          "away": "TB",
          "home": "NYY",
          "game_number": 2,
          "predicted_team": "NYY",
          "actual_winner": "TB",
          "actual_margin": 5,
          "raw_pick_probability": 0.520635,
          "artifact": "20260922_TB@NYY_2.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260709",
          "away": "NYY",
          "home": "TB",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 8,
          "raw_pick_probability": 0.51,
          "artifact": "20260709_NYY@TB.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "TB",
    "guardrail_opponent_team": "NYY",
    "output_pre_simulation_winner": "TB",
    "output_opponent_team": "NYY",
    "simulation_score_winner": "TB",
    "final_score_winner": "TB",
    "pre_simulation_winner": "TB",
    "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": 3,
      "home_runs": 4,
      "score_text": "NYY 3 - 4 TB",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "NYY 3 - 4 TB",
      "winner": "TB"
    },
    "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.0269,
      "recent_form_edge_home_minus_away": -0.182,
      "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": 3,
      "home_runs": 4,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "TB",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "TB",
        "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": 3,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 3,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.1757,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 3,
        "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": "TB",
      "games": 162,
      "wins": 98,
      "losses": 64,
      "win_pct": 0.6049382716049383,
      "runs_scored": 736,
      "runs_allowed": 650,
      "run_differential": 86,
      "run_differential_per_game": 0.5308641975308642,
      "available": true
    },
    "away": {
      "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
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1757,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.526127,
  "final_confidence": 0.5254,
  "calibrated_pick_probability": 0.5254,
  "shrinkage_weight": 0.985954,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 815,
  "calibration_empirical_hit_rate": 0.562,
  "calibration_bayesian_hit_rate": 0.5606,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.1757,
  "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.525419,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.985954,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.525419,
    "aligned_pick_probability": 0.525419
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 22,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "NYY 3 - 4 TB",
    "winner": "TB"
  },
  "final_simulation_score": {
    "away_runs": 3,
    "home_runs": 4,
    "score_text": "NYY 3 - 4 TB",
    "winner": "TB"
  },
  "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.0269,
    "recent_form_edge_home_minus_away": -0.182,
    "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": 3,
    "home_runs": 4,
    "winner": "TB",
    "model_winner": "TB",
    "simulation_winner": "TB",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 3,
      "published_winner": "TB",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "TB",
      "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": 3,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 3,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": -0.1757,
    "winner": "TB",
    "score_reviewed": {
      "away_runs": 3,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 3,
  "home_runs": 4,
  "confidence": 0.5183652275,
  "home_win_probability": 0.5183652275,
  "away_win_probability": 0.4816347725,
  "predicted_score_text": "NYY 3 - 4 TB",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "NYY",
      "original_runs": 3,
      "run_delta": -0.0719,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.3712650738717067,
        "contact": 0.2923451201301565,
        "power": 0.6038552162452798,
        "discipline": -0.06558629625440751,
        "xwoba": 0.325125,
        "recent_xwoba": 0.325125,
        "barrel": 10.384375,
        "ab_hard_contact": 0.31724718204845415,
        "ab_bat_speed": 71.48103826495975,
        "ab_strikeout_rate": 0.25758627614501245,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.087455864958446,
            "contact": 1.102908770681462,
            "power": 1.4654990995142887,
            "discipline": 0.4116136264733387,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 14.3,
            "ab_hard_contact": 0.8840772283810031,
            "ab_bat_speed": 71.42264696813977,
            "ab_strikeout_rate": 0.24306269270298048,
            "available": 1.0
          },
          {
            "player_id": "682987",
            "player_name": "Spencer Jones",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.6373945767717583,
            "contact": 0.4077599396847543,
            "power": 1.4860424110055006,
            "discipline": -0.9999799104388146,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 15.9,
            "ab_hard_contact": 0.47646726772906267,
            "ab_bat_speed": 75.76573781567421,
            "ab_strikeout_rate": 0.39008480104370513,
            "available": 1.0
          },
          {
            "player_id": "671277",
            "player_name": "Luis García Jr.",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.7595045506648707,
            "contact": 0.861931382993387,
            "power": 1.1209123212862522,
            "discipline": -0.21995825639303895,
            "xwoba": 0.341,
            "recent_xwoba": 0.341,
            "barrel": 12.2,
            "ab_hard_contact": 0.5980559495345648,
            "ab_bat_speed": 73.31642951280269,
            "ab_strikeout_rate": 0.18442028985507247,
            "available": 1.0
          },
          {
            "player_id": "663757",
            "player_name": "Trent Grisham",
            "position": "CF",
            "weight": 3.0,
            "quality": 0.6230206835494977,
            "contact": 0.575736295906865,
            "power": 0.5974478601682933,
            "discipline": 0.8456044691973896,
            "xwoba": 0.337,
            "recent_xwoba": 0.337,
            "barrel": 9.6,
            "ab_hard_contact": 0.5188619652706342,
            "ab_bat_speed": 68.83768257479983,
            "ab_strikeout_rate": 0.1951432785503582,
            "available": 1.0
          },
          {
            "player_id": "641355",
            "player_name": "Cody Bellinger",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.35499485401287234,
            "contact": 0.5371143115167526,
            "power": 0.11708476104801911,
            "discipline": 0.6290552874302875,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 6.6,
            "ab_hard_contact": 0.3618856971508627,
            "ab_bat_speed": 69.03931248346561,
            "ab_strikeout_rate": 0.15433531746031745,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "656876",
        "player_name": "Drew Rasmussen",
        "quality": 0.6182814444534327,
        "contact": 1.0171578568330801,
        "command": 0.22668001621945089,
        "movement": 0.6565394874689043,
        "xwoba": 0.271,
        "whiff": 25.1,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "TB",
      "original_runs": 4,
      "run_delta": -0.1452,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 34.0,
        "quality": -0.051150155850923334,
        "contact": 0.042399953967157684,
        "power": -0.1938720565793727,
        "discipline": 0.3607605737218511,
        "xwoba": 0.31091176470588233,
        "recent_xwoba": 0.31091176470588233,
        "barrel": 6.21764705882353,
        "ab_hard_contact": -0.1388753052569244,
        "ab_bat_speed": 69.32301883592007,
        "ab_strikeout_rate": 0.17487582948808156,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670764",
            "player_name": "Taylor Walls",
            "position": "SS",
            "weight": 3.0,
            "quality": -1.2211603892215785,
            "contact": -1.4618171461646536,
            "power": -1.4611297727575647,
            "discipline": 0.23344038844038856,
            "xwoba": 0.251,
            "recent_xwoba": 0.251,
            "barrel": 2.2,
            "ab_hard_contact": -1.3803097408655776,
            "ab_bat_speed": 62.476628427128425,
            "ab_strikeout_rate": 0.25287878787878787,
            "available": 1.0
          },
          {
            "player_id": "691406",
            "player_name": "Junior Caminero",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.058762635372624,
            "contact": 1.130513574843884,
            "power": 1.3706481342961112,
            "discipline": 0.48802659082860445,
            "xwoba": 0.364,
            "recent_xwoba": 0.364,
            "barrel": 13.1,
            "ab_hard_contact": 0.6750579240174572,
            "ab_bat_speed": 78.50223418024927,
            "ab_strikeout_rate": 0.1879354426334292,
            "available": 1.0
          },
          {
            "player_id": "802415",
            "player_name": "Chandler Simpson",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.9110194281641746,
            "contact": -0.6526549396922096,
            "power": -1.5395710951890698,
            "discipline": 0.4417229030272509,
            "xwoba": 0.263,
            "recent_xwoba": 0.263,
            "barrel": 0.0,
            "ab_hard_contact": -1.495802856162344,
            "ab_bat_speed": 61.551209390568886,
            "ab_strikeout_rate": 0.07531055900621117,
            "available": 1.0
          },
          {
            "player_id": "676356",
            "player_name": "Jonny DeLuca",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.8065424546786999,
            "contact": -0.8296022178520241,
            "power": -0.8436024193091856,
            "discipline": -0.46482626881539924,
            "xwoba": 0.261,
            "recent_xwoba": 0.261,
            "barrel": 3.6,
            "ab_hard_contact": -0.058715052850377314,
            "ab_bat_speed": 71.46409786922015,
            "ab_strikeout_rate": 0.20643115942028986,
            "available": 1.0
          },
          {
            "player_id": "650490",
            "player_name": "Yandy Díaz",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.7428743419780521,
            "contact": 1.0809664857729493,
            "power": 0.5370941676355072,
            "discipline": 0.5679201615408511,
            "xwoba": 0.346,
            "recent_xwoba": 0.346,
            "barrel": 7.1000000000000005,
            "ab_hard_contact": 0.7445500193768086,
            "ab_bat_speed": 72.70592586206897,
            "ab_strikeout_rate": 0.14482758620689656,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "543037",
        "player_name": "Gerrit Cole",
        "quality": 0.052753597833751276,
        "contact": 0.03111669057490587,
        "command": 0.013822873362307975,
        "movement": 0.3270076126149099,
        "xwoba": 0.3,
        "whiff": 21.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": 3,
      "home_runs": 4,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 3,
      "home_runs": 4,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.1757,
      "recent_form_edge_home_minus_away": -0.182,
      "pitcher_matchup_edge_home_minus_away": 0.0269,
      "composite_home_edge": 0.097,
      "existing_home_win_probability": 0.5254,
      "refreshed_home_win_probability": 0.5484,
      "winner_support_before_review": 0.097
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.525419,
  "uncapped_away_win_probability": 0.474581,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.525419,
    "discount_factor": 0.7225,
    "published_confidence": 0.518365,
    "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.548371,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.518365,
    "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": 3,
    "home_runs": 4,
    "predicted_score_text": "NYY 3 - 4 TB",
    "confidence": 0.5183652275,
    "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": 3,
      "home_runs": 4,
      "score_text": "NYY 3 - 4 TB",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 3,
      "home_runs": 4,
      "score_text": "NYY 3 - 4 TB",
      "winner": "TB"
    },
    "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.0269,
      "recent_form_edge_home_minus_away": -0.182,
      "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": 3,
      "home_runs": 4,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "TB",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "TB",
        "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": 3,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 3,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.1757,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 3,
        "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": "TB",
    "display_confidence": 0.5184,
    "internal_signal_score": 0.5631,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5184,
    "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.1757,
      "winner_recent_form_edge": 0.028,
      "winner_pitcher_matchup_edge": 0.0269,
      "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": 5,
        "median": 5,
        "max": 7,
        "range": 2
      }
    },
    "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 NYYTrue1.04371.0437190
Home TBTrue1.00111.0011190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFSpencer Jones-1.07831.0438neutral0.32800.23800.455015.9055.1094.1020.6038.7036.308.700.1429
LFCody Bellinger-1.04500.6002neutral0.33500.27100.41106.6037.8089.2017.602015.8010.50-0.0286
1BLuis García Jr.-1.07150.9531neutral0.34100.27600.486012.2046.1091.4011.5020.8017.904.60-0.4000
DHBen Rice-1.11091.4788neutral0.37800.26700.511014.3048.6091.9014.5025.4024.3012.70-0.1714
SSGeorge Lombard Jr.-1.00010.0012neutral0.29800.24000.38808.2035.1087.108.5025.6026.506-0.1429
2BJazz Chisholm Jr.-0.9966-0.0458neutral0.29400.21600.36608.2042.8090.4016.3030.9029.5010.50-0.5143
CFTrent Grisham-1.06460.8608neutral0.33700.24500.42909.6045.3090.6017.5018.2018.4012.600.7429
CAustin Wells-1.01000.1333neutral0.30000.20800.36007.7042.7089.3020.5027.9026.5012.400.5429
3BRyan McMahon-1.01660.2215neutral0.29700.23000.3810944.8090.5014.3030.2029.407.800.4286

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CLiam Hicks-0.9913-0.1157negative_batter_regression0.31900.26100.35803.7027.1084.6014.5011.409.9010.10-0.9429
1BJonathan Aranda-1.06320.8421neutral0.34300.25400.43809.904691.1014.4022.5024.4010.30-0.1429
DHYandy Díaz-1.06260.8349neutral0.34600.28100.43907.1048.1090.90614.8014.308.20-0.1143
CFJonny DeLuca-0.9339-0.8814negative_batter_regression0.26100.23200.32503.6030.2085.8013.9024.9021.104.60-1.6000
3BJunior Caminero-1.09421.2566neutral0.36400.27300.499013.1049.7092.7010.4024.1018.4011.30-0.3143
LFChandler Simpson-0.9252-0.9970negative_batter_regression0.26300.26100.2970013.4083.601.2010.807.804.20-1.2000
2BRichie Palacios-0.9867-0.1772neutral0.30600.24300.3340428.8086.2013.4020.701711.50-0.2857
RFVictor Mesa Jr.-1.03950.5271neutral0.32900.24900.439010.8042.2089.402125.5020.208.80-0.7429
SSTaylor Walls-0.9131-1.1589neutral0.25100.19000.26102.2021.9085.6019.402224.2010.40-0.7714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0011,
    "raw_average_factor": 1.0011,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "689414",
        "player_name": "Liam Hicks",
        "offense_factor": 0.9913,
        "quality_score": -0.1157,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "689414",
          "espn_rank": null
        },
        "metrics": {
          "pa": 515.0,
          "k_percent": 9.9,
          "bb_percent": 10.1,
          "woba": 0.352,
          "xwoba": 0.319,
          "xba": 0.261,
          "xslg": 0.358,
          "sweet_spot_percent": 30.8,
          "barrel_batted_rate": 3.7,
          "hard_hit_percent": 27.1,
          "exit_velocity_avg": 84.6,
          "launch_angle_avg": 14.5,
          "whiff_percent": 11.4,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": 0.019,
          "regression_edge": -0.9429,
          "xwoba_edge": 0.5714,
          "xba_edge": 0.7143,
          "xslg_edge": -0.0714,
          "barrel_edge": -0.6444,
          "hard_hit_edge": -1.5,
          "exit_velocity_edge": -1.52,
          "sweet_spot_edge": -0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "666018",
        "player_name": "Jonathan Aranda",
        "offense_factor": 1.0632,
        "quality_score": 0.8421,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666018",
          "espn_rank": null
        },
        "metrics": {
          "pa": 625.0,
          "k_percent": 24.4,
          "bb_percent": 10.3,
          "woba": 0.348,
          "xwoba": 0.343,
          "xba": 0.254,
          "xslg": 0.438,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 46.0,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 14.4,
          "whiff_percent": 22.5,
          "swing_percent": 46.7
        },
        "components": {
          "expected_quality": 1.0024,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.2571,
          "xba_edge": 0.5143,
          "xslg_edge": 1.0714,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 1.2,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "650490",
        "player_name": "Yandy Díaz",
        "offense_factor": 1.0626,
        "quality_score": 0.8349,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "650490",
          "espn_rank": null
        },
        "metrics": {
          "pa": 642.0,
          "k_percent": 14.3,
          "bb_percent": 8.2,
          "woba": 0.35,
          "xwoba": 0.346,
          "xba": 0.281,
          "xslg": 0.439,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 48.1,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 6.0,
          "whiff_percent": 14.8,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 0.9894,
          "regression_edge": -0.1143,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.2857,
          "xslg_edge": 1.0857,
          "barrel_edge": 0.1111,
          "hard_hit_edge": 1.5,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "676356",
        "player_name": "Jonny DeLuca",
        "offense_factor": 0.9339,
        "quality_score": -0.8814,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "676356",
          "espn_rank": null
        },
        "metrics": {
          "pa": 325.0,
          "k_percent": 21.1,
          "bb_percent": 4.6,
          "woba": 0.317,
          "xwoba": 0.261,
          "xba": 0.232,
          "xslg": 0.325,
          "sweet_spot_percent": 28.7,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 13.9,
          "whiff_percent": 24.9,
          "swing_percent": 52.9
        },
        "components": {
          "expected_quality": -0.7644,
          "regression_edge": -1.6,
          "xwoba_edge": -1.0857,
          "xba_edge": -0.1143,
          "xslg_edge": -0.5429,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.0571,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.7667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691406",
        "player_name": "Junior Caminero",
        "offense_factor": 1.0942,
        "quality_score": 1.2566,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691406",
          "espn_rank": null
        },
        "metrics": {
          "pa": 640.0,
          "k_percent": 18.4,
          "bb_percent": 11.3,
          "woba": 0.375,
          "xwoba": 0.364,
          "xba": 0.273,
          "xslg": 0.499,
          "sweet_spot_percent": 27.1,
          "barrel_batted_rate": 13.1,
          "hard_hit_percent": 49.7,
          "exit_velocity_avg": 92.7,
          "launch_angle_avg": 10.4,
          "whiff_percent": 24.1,
          "swing_percent": 44.4
        },
        "components": {
          "expected_quality": 1.5123,
          "regression_edge": -0.3143,
          "xwoba_edge": 1.8571,
          "xba_edge": 1.0571,
          "xslg_edge": 1.9429,
          "barrel_edge": 1.4444,
          "hard_hit_edge": 1.7286,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": -1.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "802415",
        "player_name": "Chandler Simpson",
        "offense_factor": 0.9252,
        "quality_score": -0.997,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "802415",
          "espn_rank": null
        },
        "metrics": {
          "pa": 564.0,
          "k_percent": 7.8,
          "bb_percent": 4.2,
          "woba": 0.305,
          "xwoba": 0.263,
          "xba": 0.261,
          "xslg": 0.297,
          "sweet_spot_percent": 25.7,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 13.4,
          "exit_velocity_avg": 83.6,
          "launch_angle_avg": 1.2,
          "whiff_percent": 10.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": -0.9639,
          "regression_edge": -1.2,
          "xwoba_edge": -1.0286,
          "xba_edge": 0.7143,
          "xslg_edge": -0.9429,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.92,
          "sweet_spot_edge": -1.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "680700",
        "player_name": "Richie Palacios",
        "offense_factor": 0.9867,
        "quality_score": -0.1772,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680700",
          "espn_rank": null
        },
        "metrics": {
          "pa": 364.0,
          "k_percent": 17.0,
          "bb_percent": 11.5,
          "woba": 0.316,
          "xwoba": 0.306,
          "xba": 0.243,
          "xslg": 0.334,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 28.8,
          "exit_velocity_avg": 86.2,
          "launch_angle_avg": 13.4,
          "whiff_percent": 20.7,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": -0.1595,
          "regression_edge": -0.2857,
          "xwoba_edge": 0.2,
          "xba_edge": 0.2,
          "xslg_edge": -0.4143,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.2571,
          "exit_velocity_edge": -0.88,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "683748",
        "player_name": "Victor Mesa Jr.",
        "offense_factor": 1.0395,
        "quality_score": 0.5271,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683748",
          "espn_rank": null
        },
        "metrics": {
          "pa": 223.0,
          "k_percent": 20.2,
          "bb_percent": 8.8,
          "woba": 0.355,
          "xwoba": 0.329,
          "xba": 0.249,
          "xslg": 0.439,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 10.8,
          "hard_hit_percent": 42.2,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 21.0,
          "whiff_percent": 25.5,
          "swing_percent": 55.0
        },
        "components": {
          "expected_quality": 0.7339,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.3714,
          "xslg_edge": 1.0857,
          "barrel_edge": 0.9333,
          "hard_hit_edge": 0.6571,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "670764",
        "player_name": "Taylor Walls",
        "offense_factor": 0.9131,
        "quality_score": -1.1589,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "670764",
          "espn_rank": null
        },
        "metrics": {
          "pa": 398.0,
          "k_percent": 24.2,
          "bb_percent": 10.4,
          "woba": 0.278,
          "xwoba": 0.251,
          "xba": 0.19,
          "xslg": 0.261,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 21.9,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 19.4,
          "whiff_percent": 22.0,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": -1.222,
          "regression_edge": -0.7714,
          "xwoba_edge": -1.3714,
          "xba_edge": -1.3143,
          "xslg_edge": -1.4571,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -2.2429,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0437,
    "raw_average_factor": 1.0437,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "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": "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": "1B",
        "player_id": "671277",
        "player_name": "Luis García Jr.",
        "offense_factor": 1.0715,
        "quality_score": 0.9531,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671277",
          "espn_rank": null
        },
        "metrics": {
          "pa": 509.0,
          "k_percent": 17.9,
          "bb_percent": 4.6,
          "woba": 0.355,
          "xwoba": 0.341,
          "xba": 0.276,
          "xslg": 0.486,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 12.2,
          "hard_hit_percent": 46.1,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 11.5,
          "whiff_percent": 20.8,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": 1.1734,
          "regression_edge": -0.4,
          "xwoba_edge": 1.2,
          "xba_edge": 1.1429,
          "xslg_edge": 1.7571,
          "barrel_edge": 1.2444,
          "hard_hit_edge": 1.2143,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": -0.05,
          "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": "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": "665862",
        "player_name": "Jazz Chisholm Jr.",
        "offense_factor": 0.9966,
        "quality_score": -0.0458,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665862",
          "espn_rank": null
        },
        "metrics": {
          "pa": 506.0,
          "k_percent": 29.5,
          "bb_percent": 10.5,
          "woba": 0.312,
          "xwoba": 0.294,
          "xba": 0.216,
          "xslg": 0.366,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 42.8,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.3,
          "whiff_percent": 30.9,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": 0.0304,
          "regression_edge": -0.5143,
          "xwoba_edge": -0.1429,
          "xba_edge": -0.5714,
          "xslg_edge": 0.0429,
          "barrel_edge": 0.3556,
          "hard_hit_edge": 0.7429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "663757",
        "player_name": "Trent Grisham",
        "offense_factor": 1.0646,
        "quality_score": 0.8608,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663757",
          "espn_rank": null
        },
        "metrics": {
          "pa": 477.0,
          "k_percent": 18.4,
          "bb_percent": 12.6,
          "woba": 0.311,
          "xwoba": 0.337,
          "xba": 0.245,
          "xslg": 0.429,
          "sweet_spot_percent": 35.7,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 45.3,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 17.5,
          "whiff_percent": 18.2,
          "swing_percent": 39.1
        },
        "components": {
          "expected_quality": 0.88,
          "regression_edge": 0.7429,
          "xwoba_edge": 1.0857,
          "xba_edge": 0.2571,
          "xslg_edge": 0.9429,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 1.1,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": 0.4,
          "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
        }
      },
      {
        "position": "3B",
        "player_id": "641857",
        "player_name": "Ryan McMahon",
        "offense_factor": 1.0166,
        "quality_score": 0.2215,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641857",
          "espn_rank": null
        },
        "metrics": {
          "pa": 339.0,
          "k_percent": 29.4,
          "bb_percent": 7.8,
          "woba": 0.282,
          "xwoba": 0.297,
          "xba": 0.23,
          "xslg": 0.381,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 9.0,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 14.3,
          "whiff_percent": 30.2,
          "swing_percent": 45.5
        },
        "components": {
          "expected_quality": 0.1877,
          "regression_edge": 0.4286,
          "xwoba_edge": -0.0571,
          "xba_edge": -0.1714,
          "xslg_edge": 0.2571,
          "barrel_edge": 0.5333,
          "hard_hit_edge": 1.0286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

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 NYYTrue-0.028910.99750.99540.91201.0600neutral0.30000.302025.204.8021.30944.60
Home TBTrue-0.559710.95241.02170.91200.9183neutral0.27100.2430264.8025.105.9033.80

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away NYYTrueNone8292.042373000000000.1217
Home TBTrueNone9392.382355000000000.1407
Run FactorValue
away_runs_vs_home_pitcher0.9737
home_runs_vs_away_pitcher1.0026
home_pitcher_starter_only_factor0.9524
away_pitcher_starter_only_factor0.9975
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.6296
home_pitcher_quality_edge0.3549
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "656876",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 645.0,
      "k_percent": 26.0,
      "bb_percent": 4.8,
      "woba": 0.243,
      "xwoba": 0.271,
      "sweet_spot_percent": 32.5,
      "barrel_batted_rate": 5.9,
      "hard_hit_percent": 33.8,
      "avg_best_speed": 77.4285,
      "avg_hyper_speed": 93.597,
      "whiff_percent": 25.1,
      "swing_percent": 50.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.906,
      "command_and_miss": 0.4657,
      "regression_edge": -0.8,
      "xwoba_edge": 1.1714,
      "barrel_edge": 0.2889,
      "hard_hit_edge": 0.5857,
      "whiff_edge": -0.0143,
      "bb_edge": 1.1,
      "pitch_design_score": 0.1407
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 93,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 93,
        "pitch_usage": 0.0,
        "release_speed": 92.37588033984052,
        "release_spin_rate": 2355.1143668897917,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 93,
          "pitch_usage": 0.0,
          "release_speed": 92.37588033984052,
          "release_spin_rate": 2355.1143668897917,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3759,
        "release_spin_rate": 2355.1144,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1407,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0047,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.5597,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9524,
    "strikeout_factor": 1.0217,
    "walk_factor": 0.912,
    "homer_factor": 0.9183,
    "woba_minus_xwoba": -0.028,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "656876",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "543037",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 470.0,
      "k_percent": 25.2,
      "bb_percent": 4.8,
      "woba": 0.302,
      "xwoba": 0.3,
      "sweet_spot_percent": 36.2,
      "barrel_batted_rate": 9.0,
      "hard_hit_percent": 44.6,
      "avg_best_speed": 81.4104,
      "avg_hyper_speed": 94.5024,
      "whiff_percent": 21.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.08,
      "command_and_miss": 0.2243,
      "regression_edge": 0.0571,
      "xwoba_edge": 0.3429,
      "barrel_edge": -0.4,
      "hard_hit_edge": -0.9571,
      "whiff_edge": -0.5571,
      "bb_edge": 1.1,
      "pitch_design_score": 0.1217
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "543037",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 82,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 82,
        "pitch_usage": 0.0,
        "release_speed": 92.03748624523112,
        "release_spin_rate": 2372.6649530903105,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 92.03748624523112,
          "release_spin_rate": 2372.6649530903105,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0375,
        "release_spin_rate": 2372.665,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1217,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.8693,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0289,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9975,
    "strikeout_factor": 0.9954,
    "walk_factor": 0.912,
    "homer_factor": 1.06,
    "woba_minus_xwoba": 0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "543037",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9737,
    "home_runs_vs_away_pitcher": 1.0026,
    "home_pitcher_starter_only_factor": 0.9524,
    "away_pitcher_starter_only_factor": 0.9975,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.6296,
    "home_pitcher_quality_edge": 0.3549
  },
  "score_before": {
    "away_runs": 3.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 2.9211,
    "home_runs": 4.0106,
    "home_win_probability": 0.599
  },
  "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 NYY5-50.5004.604.5011Waverageaverage
Home TB5-50.5003.803.2061Laveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away NYY93-680.5781380.857True
Home TB98-640.605860.531True
Signal---0.326-0.176applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-24TB @ NYY4 - 6NYY2close
2026-09-23TB @ NYY2 - 9NYY7blowout
2026-09-22TB @ NYY6 - 1TB5blowout
2026-09-22TB @ NYY0 - 2NYY2close
2026-07-09NYY @ TB12 - 4NYY8blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target NYY--3----
Game target TB--4----
Player finalized NYY32751429
Player finalized TB34841427
Player model fractional NYY32.717.584.661.505.272.679.22
Player model fractional TB33.878.704.330.914.432.546.78
Simulation box NYY31431345
Simulation box TB32840437

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 NYYStarterGerrit Cole5.2036734.351.19True
Away NYYSetup ManBrent Headrick1.2001005.831.75True
Away NYYCloserDavid Bednar0.2010101.761.18True
Home TBStarterDrew Rasmussen625132.240.94True
Home TBCloserBryan Baker100111.481.03True
Home TBMiddle Reliever (High Leverage)Cam Booser110101.960.73True
Home TBSetup ManKevin Kelly100103.941.23True
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
homeTBbatter1BJonathan Arandaworse113829predicted_SO1.9480boostworse
awayNYYbatterLFCody Bellingerboosted106455predicted_AB-1.8800deboostworse
homeTBbatterDHYandy Díazdeboosted104655predicted_2B1.8300boostbetter
awayNYYbatterCFTrent Grishambetter106473predicted_RBI1.5400boostbetter
homeTBbatterCLiam Hicksworse101928predicted_AB-1.5100deboostworse
homeTBbatter2BRichie Palaciosbetter107364predicted_RBI1.4700boostbetter
awayNYYbatterDHBen Riceworse101919predicted_H-1.2800deboostworse
homeTBbatterRFVictor Mesa Jr.boosted127566predicted_SO1.2540boostworse
awayNYYbatterCAustin Wellsworse1129110predicted_AB1.1980boostbetter
awayNYYbatter1BLuis García Jr.worse90918predicted_H-1.1400deboostworse
homeTBbatterSSTaylor Wallsworse91827predicted_AB-1.1280deboostworse
awayNYYbatterSSGeorge Lombard Jr.worse103746predicted_AB-1.0900deboostworse
awayNYYpitcherStarterGerrit Colebetter41331predicted_ER-1.0000deboostbetter
awayNYYpitcherSetup ManBrent Headrickneutral21111predicted_SO-1.0000deboostworse
awayNYYpitcherCloserDavid Bednarworse32103predicted_ER1.0000boostworse
homeTBpitcherStarterDrew Rasmussenbetter11010predicted_SO1.0000boostbetter
homeTBpitcherMiddle Reliever (High Leverage)Cam Booserworse10101predicted_SO-1.0000deboostworse
homeTBbatter3BJunior Camineroworse112938predicted_H-0.9700deboostworse
awayNYYbatter3BRyan McMahonworse1111029predicted_SO-0.9380deboostbetter
homeTBbatterCFJonny DeLucaworse115647predicted_H-0.9030deboostworse
awayNYYbatter2BJazz Chisholm Jr.worse102837predicted_H-0.9000deboostworse
awayNYYbatterRFSpencer Jonesworse1111029predicted_AB0.8330boostbetter
homeTBbatterLFChandler Simpsonworse93645predicted_H0.7400boostbetter

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

Away Team: NYY

Away Pitcher Deep Analysis

FieldValue
PitcherGerrit Cole
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0289
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1217
Avg Velo92.0375
Avg Spin2372.6650
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H7
Pre BB3
Pre SO6
Season ERA3.6142
Season WHIP1.1024
Role Avg IP5.7730
Recent Avg IP5.6670
Last Start IP5.2000
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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0167,
    "offense_edge": 0.0221,
    "opponent_offense_edge": 0.0116,
    "defense_strength": 0.2031,
    "opponent_defense_weakness": -0.1193,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9807,
    "strikeout": 0.9996
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "543037",
    "profile": {
      "available": true,
      "pitcher_id": "543037",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 470.0,
        "k_percent": 25.2,
        "bb_percent": 4.8,
        "woba": 0.302,
        "xwoba": 0.3,
        "sweet_spot_percent": 36.2,
        "barrel_batted_rate": 9.0,
        "hard_hit_percent": 44.6,
        "avg_best_speed": 81.4104,
        "avg_hyper_speed": 94.5024,
        "whiff_percent": 21.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.08,
        "command_and_miss": 0.2243,
        "regression_edge": 0.0571,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.4,
        "hard_hit_edge": -0.9571,
        "whiff_edge": -0.5571,
        "bb_edge": 1.1,
        "pitch_design_score": 0.1217
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "543037",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 82,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 82,
          "pitch_usage": 0.0,
          "release_speed": 92.03748624523112,
          "release_spin_rate": 2372.6649530903105,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 82,
            "pitch_usage": 0.0,
            "release_speed": 92.03748624523112,
            "release_spin_rate": 2372.6649530903105,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0375,
          "release_spin_rate": 2372.665,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1217,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.8693,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0289,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9975,
      "strikeout_factor": 0.9954,
      "walk_factor": 0.912,
      "homer_factor": 1.06,
      "woba_minus_xwoba": 0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "543037",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9975,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 0.9975,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.912,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.06,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9954,
        "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.0,
    "ER": 24,
    "H": 55,
    "BB": 11,
    "SO": 58,
    "HR": 11,
    "ERA": 3.661016949152543,
    "WHIP": 1.1186440677966103,
    "K9": 8.847457627118645,
    "HR9": 1.6779661016949154,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "543037",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 82,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 82,
    "pitch_usage": 0.0,
    "release_speed": 92.03748624523112,
    "release_spin_rate": 2372.6649530903105,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 82,
      "pitch_usage": 0.0,
      "release_speed": 92.03748624523112,
      "release_spin_rate": 2372.6649530903105,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0375,
    "release_spin_rate": 2372.665,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1217,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.8693,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "543037",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.1,
        "ER": 16.0,
        "R": 16.0,
        "H": 30.0,
        "BB": 4.0,
        "SO": 26.0,
        "HR": 9.0,
        "BF": 117.0,
        "Pitches": 446.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 3.2,
        "R": 3.2,
        "H": 6.0,
        "BB": 0.8,
        "SO": 5.2,
        "HR": 1.8,
        "BF": 23.4,
        "Pitches": 89.2
      },
      "rates": {
        "ERA": 5.0824,
        "WHIP": 1.2,
        "ER_per_IP": 0.56471,
        "H_per_IP": 1.05882,
        "BB_per_IP": 0.14118,
        "SO_per_IP": 0.91765,
        "HR_per_IP": 0.31765
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.0,
        "ER": 24.0,
        "R": 25.0,
        "H": 55.0,
        "BB": 11.0,
        "SO": 58.0,
        "HR": 11.0,
        "BF": 240.0,
        "Pitches": 886.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.4,
        "R": 2.5,
        "H": 5.5,
        "BB": 1.1,
        "SO": 5.8,
        "HR": 1.1,
        "BF": 24.0,
        "Pitches": 88.6
      },
      "rates": {
        "ERA": 3.661,
        "WHIP": 1.1186,
        "ER_per_IP": 0.40678,
        "H_per_IP": 0.9322,
        "BB_per_IP": 0.18644,
        "SO_per_IP": 0.98305,
        "HR_per_IP": 0.18644
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 127.0,
        "ER": 51.0,
        "R": 52.0,
        "H": 115.0,
        "BB": 25.0,
        "SO": 131.0,
        "HR": 22.0,
        "BF": 519.0,
        "Pitches": 1951.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.3182,
        "R": 2.3636,
        "H": 5.2273,
        "BB": 1.1364,
        "SO": 5.9545,
        "HR": 1.0,
        "BF": 23.5909,
        "Pitches": 88.6818
      },
      "rates": {
        "ERA": 3.6142,
        "WHIP": 1.1024,
        "ER_per_IP": 0.40157,
        "H_per_IP": 0.90551,
        "BB_per_IP": 0.19685,
        "SO_per_IP": 1.0315,
        "HR_per_IP": 0.17323
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.785,
    "predicted_H": 5.669,
    "predicted_BB": 1.194,
    "predicted_SO": 5.518,
    "predicted_HR": 1.298,
    "predicted_ERA": 4.3502,
    "predicted_WHIP": 1.1912
  }
}
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": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 2.785,
      "final": 3.3053,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 8.0,
      "form": 5.669,
      "final": 6.6672,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.194,
      "final": 1.9674,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.518,
      "final": 5.2962,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 1.298,
      "final": 0.7421,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.3502,
      "final": 4.3502,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1912,
      "final": 1.1912,
      "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.6410
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0017
Avg Velo89.8945
Avg Spin2072.5970
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.1737
Season WHIP1.2076
Role Avg IP0.9590
Recent Avg IP0.6000
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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0167,
    "offense_edge": 0.0221,
    "opponent_offense_edge": 0.0116,
    "defense_strength": 0.2031,
    "opponent_defense_weakness": -0.1193,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9807,
    "strikeout": 0.9996
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6346,
        "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": 21,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 21,
          "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": 21,
            "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.641,
      "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": 7.1,
    "ER": 4,
    "H": 6,
    "BB": 6,
    "SO": 9,
    "HR": 1,
    "ERA": 4.909090909090909,
    "WHIP": 1.6363636363636365,
    "K9": 11.045454545454547,
    "HR9": 1.2272727272727273,
    "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-30T00: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": 21,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 21,
    "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": 21,
      "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.213,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7643,
    "prior_weight": 0.2357
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687396",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 82,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 16.0,
        "Pitches": 54.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.6,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.2,
        "Pitches": 10.8
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 2.3333,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.33333,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.33333,
        "HR_per_IP": 0.33333
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 6.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 34.0,
        "Pitches": 142.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.6,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 3.4,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 4.9091,
        "WHIP": 1.6364,
        "ER_per_IP": 0.54545,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.81818,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.13636
      }
    },
    "season": {
      "games": 82,
      "totals": {
        "IP": 78.2,
        "ER": 19.0,
        "R": 20.0,
        "H": 68.0,
        "BB": 27.0,
        "SO": 98.0,
        "HR": 5.0,
        "BF": 327.0,
        "Pitches": 1285.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2317,
        "R": 0.2439,
        "H": 0.8293,
        "BB": 0.3293,
        "SO": 1.1951,
        "HR": 0.061,
        "BF": 3.9878,
        "Pitches": 15.6707
      },
      "rates": {
        "ERA": 2.1737,
        "WHIP": 1.2076,
        "ER_per_IP": 0.24153,
        "H_per_IP": 0.86441,
        "BB_per_IP": 0.34322,
        "SO_per_IP": 1.24576,
        "HR_per_IP": 0.06356
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.465,
    "predicted_H": 0.747,
    "predicted_BB": 0.506,
    "predicted_SO": 0.859,
    "predicted_HR": 0.14,
    "predicted_ERA": 5.8273,
    "predicted_WHIP": 1.7462
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4496,
  "form_weight": 0.5504,
  "form_reliability": 0.7643,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.213,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7643,
    "prior_weight": 0.2357
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.465,
      "final": 0.2559,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.747,
      "final": 0.4112,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.506,
      "final": 0.2785,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.859,
      "final": 1.372,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.14,
      "final": 0.0771,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.8273,
      "final": 5.8273,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.7462,
      "final": 1.7462,
      "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.7494
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0250
Avg Velo90.3112
Avg Spin2068.8737
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA2.4313
Season WHIP1.0379
Role Avg IP1.0820
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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0167,
    "offense_edge": 0.0221,
    "opponent_offense_edge": 0.0116,
    "defense_strength": 0.2031,
    "opponent_defense_weakness": -0.1193,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9807,
    "strikeout": 0.9996
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0781,
        "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": 22,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 22,
          "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": 22,
            "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.7494,
      "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": 1,
    "H": 9,
    "BB": 3,
    "SO": 12,
    "HR": 1,
    "ERA": 0.8181818181818182,
    "WHIP": 1.0909090909090908,
    "K9": 9.818181818181818,
    "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-30T00: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": 22,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 22,
    "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": 22,
      "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.495,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7435,
    "prior_weight": 0.2565
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670280",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 20.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.1667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.66667,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.83333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 1.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 173.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.3,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 17.3
      },
      "rates": {
        "ERA": 0.8182,
        "WHIP": 1.0909,
        "ER_per_IP": 0.09091,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 70.1,
        "ER": 19.0,
        "R": 25.0,
        "H": 52.0,
        "BB": 21.0,
        "SO": 77.0,
        "HR": 4.0,
        "BF": 284.0,
        "Pitches": 1176.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2923,
        "R": 0.3846,
        "H": 0.8,
        "BB": 0.3231,
        "SO": 1.1846,
        "HR": 0.0615,
        "BF": 4.3692,
        "Pitches": 18.0923
      },
      "rates": {
        "ERA": 2.4313,
        "WHIP": 1.0379,
        "ER_per_IP": 0.27014,
        "H_per_IP": 0.73934,
        "BB_per_IP": 0.29858,
        "SO_per_IP": 1.09479,
        "HR_per_IP": 0.05687
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.184,
    "predicted_H": 0.751,
    "predicted_BB": 0.357,
    "predicted_SO": 0.907,
    "predicted_HR": 0.066,
    "predicted_ERA": 1.7568,
    "predicted_WHIP": 1.1783
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4584,
  "form_weight": 0.5416,
  "form_reliability": 0.7435,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.495,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7435,
    "prior_weight": 0.2565
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.184,
      "final": 0.0997,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.751,
      "final": 0.4068,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.357,
      "final": 0.1934,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.907,
      "final": 0.4913,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.0357,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.7568,
      "final": 1.7568,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1783,
      "final": 1.1783,
      "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."
}
Spencer Jones (682987) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 269
All-history rows before 20261003: 269
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2579
Diff (system - data): -0.0139
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.1550.0000.000Hitting_2B0.1820.000-0.1820.000
predicted_3B0.0120.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB3.1674.0004.000Hitting_AB3.2865.0000.714-1.000
predicted_AVG0.2440.0000.250Hitting_AVG0.2580.200-0.258-0.200
predicted_BB0.2980.0000.000Hitting_BB0.3530.000-0.3530.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.7740.0001.000Hitting_H0.8481.000-0.848-1.000
predicted_HR0.1310.0000.000Hitting_HR0.1380.000-0.1380.000
predicted_OBP0.3090.0000.250Hitting_OBP0.3310.200-0.331-0.200
predicted_R0.4640.0001.000Hitting_R0.4761.000-0.476-1.000
predicted_RBI0.4760.0001.000Hitting_RBI0.5460.000-0.5460.000
predicted_SLG0.4250.0000.250Hitting_SLG0.4480.200-0.448-0.200
predicted_SO1.2861.0001.000Hitting_SO1.3354.000-0.335-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: 3.1670 -> 4.0000 (boost 0.8330, better)
Biggest Deboostpredicted_H: 0.7740 -> 0.0000 (deboost -0.7740, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63324predicted_AB: 3.1670 -> 3.3425 (boost 0.1755, better)predicted_SLG: 0.4250 -> 0.4016 (deboost -0.0234, 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_scaling74334predicted_AB: 3.3425 -> 4.0000 (boost 0.6575, better)predicted_BB: 0.2861 -> 0.0000 (deboost -0.2861, worse)AB rounded to 4 (raw=3.34), rates preserved: AVG=0.219 HR/AB=0.036
6consistency_constraints11010predicted_R: 0.5275 -> 1.0000 (boost 0.4725, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2691 (boost 0.2691, better)predicted_RBI: 1.0000 -> 0.5206 (deboost -0.4794, 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_RBI: 0.5206 -> 1.0000 (boost 0.4794, better)predicted_SO: 1.5216 -> 1.0000 (deboost -0.5216, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42213predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_OBP: 0.2966 -> 0.2870 (deboost -0.0096, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference40413-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_OBP: 0.2870 -> 0.2966 (boost 0.0096, better)predicted_SLG: 0.4080 -> 0.3976 (deboost -0.0104, 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": "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.155,
        "predicted_3B": 0.012,
        "predicted_AB": 3.167,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.298,
        "predicted_H": 0.774,
        "predicted_HR": 0.131,
        "predicted_OBP": 0.309,
        "predicted_R": 0.464,
        "predicted_RBI": 0.476,
        "predicted_SLG": 0.425,
        "predicted_SO": 1.286
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1563,
        "predicted_3B": 0.0107,
        "predicted_AB": 3.3425,
        "predicted_AVG": 0.2382,
        "predicted_BB": 0.2857,
        "predicted_H": 0.7956,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1213,
        "predicted_OBP": 0.2988,
        "predicted_R": 0.5325,
        "predicted_RBI": 0.4498,
        "predicted_SLG": 0.4016,
        "predicted_SO": 1.3604
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.155,
          "after": 0.1563,
          "delta": 0.0013,
          "percent_delta": 0.0084,
          "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.167,
          "after": 3.3425,
          "delta": 0.1755,
          "percent_delta": 0.0554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2382,
          "delta": -0.0058,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.298,
          "after": 0.2857,
          "delta": -0.0123,
          "percent_delta": -0.0413,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.774,
          "after": 0.7956,
          "delta": 0.0216,
          "percent_delta": 0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.131,
          "after": 0.1213,
          "delta": -0.0097,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.2988,
          "delta": -0.0102,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.464,
          "after": 0.5325,
          "delta": 0.0685,
          "percent_delta": 0.1476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.476,
          "after": 0.4498,
          "delta": -0.0262,
          "percent_delta": -0.055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.4016,
          "delta": -0.0234,
          "percent_delta": -0.0551,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.286,
          "after": 1.3604,
          "delta": 0.0744,
          "percent_delta": 0.0579,
          "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.167,
          "after": 3.3425,
          "delta": 0.1755,
          "percent_delta": 0.0554,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.4016,
          "delta": -0.0234,
          "percent_delta": -0.0551,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1563,
        "predicted_3B": 0.0107,
        "predicted_AB": 3.3425,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.2861,
        "predicted_H": 0.7903,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1203,
        "predicted_OBP": 0.2966,
        "predicted_R": 0.5275,
        "predicted_RBI": 0.4456,
        "predicted_SLG": 0.3976,
        "predicted_SO": 1.3585
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1563,
          "after": 0.1563,
          "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.3425,
          "after": 3.3425,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2382,
          "after": 0.2364,
          "delta": -0.0018,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2857,
          "after": 0.2861,
          "delta": 0.0004,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7956,
          "after": 0.7903,
          "delta": -0.0053,
          "percent_delta": -0.0067,
          "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.1213,
          "after": 0.1203,
          "delta": -0.001,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2988,
          "after": 0.2966,
          "delta": -0.0022,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5325,
          "after": 0.5275,
          "delta": -0.005,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4498,
          "after": 0.4456,
          "delta": -0.0042,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4016,
          "after": 0.3976,
          "delta": -0.004,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.3604,
          "after": 1.3585,
          "delta": -0.0019,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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.34), rates preserved: AVG=0.219 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1563,
          "after": 0.0,
          "delta": -0.1563,
          "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.3425,
          "after": 4.0,
          "delta": 0.6575,
          "percent_delta": 0.1967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2861,
          "after": 0.0,
          "delta": -0.2861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7903,
          "after": 1.0,
          "delta": 0.2097,
          "percent_delta": 0.2653,
          "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.1203,
          "after": 0.0,
          "delta": -0.1203,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4456,
          "after": 1.0,
          "delta": 0.5544,
          "percent_delta": 1.2442,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3585,
          "after": 2.0,
          "delta": 0.6415,
          "percent_delta": 0.4722,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.3425,
          "after": 4.0,
          "delta": 0.6575,
          "percent_delta": 0.1967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2861,
          "after": 0.0,
          "delta": -0.2861,
          "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": 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.5275,
          "after": 1.0,
          "delta": 0.4725,
          "percent_delta": 0.8957,
          "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.5275,
          "after": 1.0,
          "delta": 0.4725,
          "percent_delta": 0.8957,
          "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.1859,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.2691,
        "predicted_H": 0.8704,
        "predicted_HR": 0.1541,
        "predicted_RBI": 0.5206,
        "predicted_SO": 1.5216
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1859,
          "delta": 0.1859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0129,
          "delta": 0.0129,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2691,
          "delta": 0.2691,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8704,
          "delta": -0.1296,
          "percent_delta": -0.1296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1541,
          "delta": 0.1541,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5206,
          "delta": -0.4794,
          "percent_delta": -0.4794,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5216,
          "delta": -0.4784,
          "percent_delta": -0.2392,
          "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.2691,
          "delta": 0.2691,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5206,
          "delta": -0.4794,
          "percent_delta": -0.4794,
          "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": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1859,
          "after": 0.0,
          "delta": -0.1859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0129,
          "after": 0.0,
          "delta": -0.0129,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2691,
          "after": 0.0,
          "delta": -0.2691,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8704,
          "after": 1.0,
          "delta": 0.1296,
          "percent_delta": 0.1489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1541,
          "after": 0.0,
          "delta": -0.1541,
          "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.5206,
          "after": 1.0,
          "delta": 0.4794,
          "percent_delta": 0.9209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5216,
          "after": 1.0,
          "delta": -0.5216,
          "percent_delta": -0.3428,
          "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.5206,
          "after": 1.0,
          "delta": 0.4794,
          "percent_delta": 0.9209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5216,
          "after": 1.0,
          "delta": -0.5216,
          "percent_delta": -0.3428,
          "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.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.408,
        "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.2364,
          "after": 0.23,
          "delta": -0.0064,
          "percent_delta": -0.0271,
          "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.2966,
          "after": 0.287,
          "delta": -0.0096,
          "percent_delta": -0.0324,
          "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.3976,
          "after": 0.408,
          "delta": 0.0104,
          "percent_delta": 0.0262,
          "direction": "boost",
          "projection_effect": "better",
          "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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2966,
          "after": 0.287,
          "delta": -0.0096,
          "percent_delta": -0.0324,
          "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": 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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2364,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2966,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2364,
          "delta": 0.0064,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.287,
          "after": 0.2966,
          "delta": 0.0096,
          "percent_delta": 0.0336,
          "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.408,
          "after": 0.3976,
          "delta": -0.0104,
          "percent_delta": -0.0256,
          "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.287,
          "after": 0.2966,
          "delta": 0.0096,
          "percent_delta": 0.0336,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.3976,
          "delta": -0.0104,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.155,
        "after": 0.0,
        "delta": -0.155,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.167,
        "after": 4.0,
        "delta": 0.833,
        "percent_delta": 0.263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.2364,
        "delta": -0.0076,
        "percent_delta": -0.0311,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.298,
        "after": 0.0,
        "delta": -0.298,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.774,
        "after": 0.0,
        "delta": -0.774,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.309,
        "after": 0.2966,
        "delta": -0.0124,
        "percent_delta": -0.0401,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.464,
        "after": 0.0,
        "delta": -0.464,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.476,
        "after": 0.0,
        "delta": -0.476,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.425,
        "after": 0.3976,
        "delta": -0.0274,
        "percent_delta": -0.0645,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.286,
        "after": 1.0,
        "delta": -0.286,
        "percent_delta": -0.2224,
        "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.167,
        "after": 4.0,
        "delta": 0.833,
        "percent_delta": 0.263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.774,
        "after": 0.0,
        "delta": -0.774,
        "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.155-
predicted_3B0.012-
predicted_AB3.167-
predicted_AVG0.244-
predicted_BB0.298-
predicted_H0.774-
predicted_HR0.131-
predicted_OBP0.309-
predicted_R0.464-
predicted_RBI0.476-
predicted_SLG0.425-
predicted_SO1.286-
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.1560.001
predicted_3B0.011-0.001
predicted_AB3.3420.175
predicted_AVG0.238-0.006
predicted_BB0.286-0.012
predicted_H0.7960.022
predicted_HBP0.010-
predicted_HR0.121-0.010
predicted_OBP0.299-0.010
predicted_R0.5320.068
predicted_RBI0.450-0.026
predicted_SLG0.402-0.023
predicted_SO1.3600.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.1560.000
predicted_3B0.0110.000
predicted_AB3.3420.000
predicted_AVG0.236-0.002
predicted_BB0.2860.000
predicted_H0.790-0.005
predicted_HBP0.0100.000
predicted_HR0.120-0.001
predicted_OBP0.297-0.002
predicted_R0.527-0.005
predicted_RBI0.446-0.004
predicted_SLG0.398-0.004
predicted_SO1.359-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=3.34), rates preserved: AVG=0.219 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.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
BB0.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.1860.186
3B0.0130.013
BB0.2690.269
H0.870-0.130
HR0.1540.154
RBI0.521-0.479
SO1.522-0.478
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.186
3B0.000-0.013
AB4.0000.000
BB0.000-0.269
H1.0000.130
HR0.000-0.154
R1.0000.000
RBI1.0000.479
SO1.000-0.522
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.011
predicted_AB4.0000.658
predicted_AVG0.230-0.006
predicted_BB0.000-0.286
predicted_H1.0000.210
predicted_HR0.000-0.120
predicted_OBP0.287-0.010
predicted_R1.0000.473
predicted_RBI1.0000.554
predicted_SLG0.4080.010
predicted_SO2.0000.641
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.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: 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-21.0005.0001.0000.0000.0001.0006.0001.0009.0000.23810.27270.28570.23810.00000.04760.04760.4286
last_100.2010-41.0007.0001.0000.0001.0003.0007.0002.00020.0000.17070.20930.26830.17070.02440.07320.04880.4878
season0.6084-266.00065.00013.0001.00011.00040.00039.00025.000108.0000.24440.31060.42480.24440.04130.15040.09400.4060
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1580
predicted_3B0.0090
predicted_AB3.5820
predicted_AVG0.2302
predicted_BB0.2690
predicted_H0.8250
predicted_HBP0.0100
predicted_HR0.1080
predicted_OBP0.2849
predicted_R0.6260
predicted_RBI0.4140
predicted_SLG0.3696
predicted_SO1.4620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15500.15800.1563model_form_blend
predicted_3B0.01200.00900.0107model_form_blend
predicted_AB3.16703.58203.3425model_form_blend
predicted_AVG0.24400.23020.2382model_form_blend
predicted_BB0.29800.26900.2857model_form_blend
predicted_H0.77400.82500.7956model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.13100.10800.1213model_form_blend
predicted_OBP0.30900.28490.2988model_form_blend
predicted_R0.46400.62600.5325model_form_blend
predicted_RBI0.47600.41400.4498model_form_blend
predicted_SLG0.42500.36960.4016model_form_blend
predicted_SO1.28601.46201.3604model_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 date269
Season rows before report date269
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
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_SB1
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_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO4
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
allPositionsPlayedRF
gameID20260930_BOS@NYY
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-09-30
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
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 537
All-history rows before 20261003: 537
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2767
Diff (system - data): -0.0097
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.1911.0000.000Hitting_2B0.2070.0000.7931.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.8803.0004.000Hitting_AB3.7905.000-0.790-2.000
predicted_AVG0.2430.3330.250Hitting_AVG0.2770.4000.057-0.067
predicted_BB0.4431.0001.000Hitting_BB0.4820.0000.5181.000
predicted_CS-0.0000.000BaseRunning_CS0.0470.000-0.0470.000
predicted_H1.1901.0001.000Hitting_H1.0482.000-0.048-1.000
predicted_HR0.2000.0000.000Hitting_HR0.1301.000-0.130-1.000
predicted_OBP0.2910.5000.400Hitting_OBP0.3540.4000.1460.100
predicted_R0.5651.0001.000Hitting_R0.6001.0000.4000.000
predicted_RBI0.7901.0001.000Hitting_RBI0.5964.0000.404-3.000
predicted_SLG0.4320.6670.250Hitting_SLG0.4481.0000.219-0.333
predicted_SO0.6411.0001.000Hitting_SO0.6201.0000.3800.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_2B: 0.1910 -> 1.0000 (boost 0.8090, better)
Biggest Deboostpredicted_AB: 4.8800 -> 3.0000 (deboost -1.8800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.8800 -> 4.4544 (deboost -0.4256, 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.2916 -> 0.3013 (boost 0.0097, better)predicted_SLG: 0.4159 -> 0.4050 (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_scaling72516predicted_SO: 0.6627 -> 1.0000 (boost 0.3373, worse)predicted_AB: 4.4544 -> 4.0000 (deboost -0.4544, worse)AB rounded to 4 (raw=4.88), rates preserved: AVG=0.202 HR/AB=0.037
6bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)
7consistency_constraints11010predicted_R: 0.5170 -> 1.0000 (boost 0.4830, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3320 (boost 0.3320, better)predicted_RBI: 1.0000 -> 0.5153 (deboost -0.4847, 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_allocation64233predicted_BB: 0.3320 -> 1.0000 (boost 0.6680, better)predicted_2B: 0.1805 -> 0.0000 (deboost -0.1805, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context20202-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_reference32121predicted_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
12current_json_final11010predicted_SLG: 0.3900 -> 0.4050 (boost 0.0150, better)-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.191,
        "predicted_3B": 0.023,
        "predicted_AB": 4.88,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.443,
        "predicted_H": 1.19,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.291,
        "predicted_R": 0.565,
        "predicted_RBI": 0.79,
        "predicted_SLG": 0.432,
        "predicted_SO": 0.641
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.4544,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.4008,
        "predicted_H": 1.069,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1826,
        "predicted_OBP": 0.2916,
        "predicted_R": 0.5219,
        "predicted_RBI": 0.7182,
        "predicted_SLG": 0.4159,
        "predicted_SO": 0.6636
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.161,
          "delta": -0.03,
          "percent_delta": -0.1571,
          "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.88,
          "after": 4.4544,
          "delta": -0.4256,
          "percent_delta": -0.0872,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.239,
          "delta": -0.004,
          "percent_delta": -0.0165,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.443,
          "after": 0.4008,
          "delta": -0.0422,
          "percent_delta": -0.0953,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.19,
          "after": 1.069,
          "delta": -0.121,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.1826,
          "delta": -0.0174,
          "percent_delta": -0.087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.2916,
          "delta": 0.0006,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.565,
          "after": 0.5219,
          "delta": -0.0431,
          "percent_delta": -0.0763,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.79,
          "after": 0.7182,
          "delta": -0.0718,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.432,
          "after": 0.4159,
          "delta": -0.0161,
          "percent_delta": -0.0373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.641,
          "after": 0.6636,
          "delta": 0.0226,
          "percent_delta": 0.0353,
          "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.88,
          "after": 4.4544,
          "delta": -0.4256,
          "percent_delta": -0.0872,
          "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": 131
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.4544,
        "predicted_AVG": 0.2384,
        "predicted_BB": 0.4014,
        "predicted_H": 1.0618,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1811,
        "predicted_OBP": 0.3013,
        "predicted_R": 0.517,
        "predicted_RBI": 0.7114,
        "predicted_SLG": 0.405,
        "predicted_SO": 0.6627
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.161,
          "after": 0.161,
          "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.4544,
          "after": 4.4544,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2384,
          "delta": -0.0006,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4008,
          "after": 0.4014,
          "delta": 0.0006,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.069,
          "after": 1.0618,
          "delta": -0.0072,
          "percent_delta": -0.0067,
          "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.1826,
          "after": 0.1811,
          "delta": -0.0015,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2916,
          "after": 0.3013,
          "delta": 0.0097,
          "percent_delta": 0.0333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5219,
          "after": 0.517,
          "delta": -0.0049,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7182,
          "after": 0.7114,
          "delta": -0.0068,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4159,
          "after": 0.405,
          "delta": -0.0109,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6636,
          "after": 0.6627,
          "delta": -0.0009,
          "percent_delta": -0.0014,
          "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.2916,
          "after": 0.3013,
          "delta": 0.0097,
          "percent_delta": 0.0333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4159,
          "after": 0.405,
          "delta": -0.0109,
          "percent_delta": -0.0262,
          "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.88), rates preserved: AVG=0.202 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.161,
          "after": 0.0,
          "delta": -0.161,
          "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.4544,
          "after": 4.0,
          "delta": -0.4544,
          "percent_delta": -0.102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4014,
          "after": 0.0,
          "delta": -0.4014,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0618,
          "after": 1.0,
          "delta": -0.0618,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1811,
          "after": 0.0,
          "delta": -0.1811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7114,
          "after": 1.0,
          "delta": 0.2886,
          "percent_delta": 0.4057,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6627,
          "after": 1.0,
          "delta": 0.3373,
          "percent_delta": 0.509,
          "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.6627,
          "after": 1.0,
          "delta": 0.3373,
          "percent_delta": 0.509,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.4544,
          "after": 4.0,
          "delta": -0.4544,
          "percent_delta": -0.102,
          "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.222)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 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.517,
          "after": 1.0,
          "delta": 0.483,
          "percent_delta": 0.9342,
          "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.517,
          "after": 1.0,
          "delta": 0.483,
          "percent_delta": 0.9342,
          "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.1805,
        "predicted_3B": 0.0148,
        "predicted_BB": 0.332,
        "predicted_H": 0.9371,
        "predicted_HR": 0.1364,
        "predicted_RBI": 0.5153,
        "predicted_SO": 0.7
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1805,
          "delta": 0.1805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0148,
          "delta": 0.0148,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.332,
          "delta": 0.332,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9371,
          "delta": -0.0629,
          "percent_delta": -0.0629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1364,
          "delta": 0.1364,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5153,
          "delta": -0.4847,
          "percent_delta": -0.4847,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7,
          "delta": -0.3,
          "percent_delta": -0.3,
          "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.332,
          "delta": 0.332,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5153,
          "delta": -0.4847,
          "percent_delta": -0.4847,
          "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.1805,
          "after": 0.0,
          "delta": -0.1805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0148,
          "after": 0.0,
          "delta": -0.0148,
          "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.332,
          "after": 1.0,
          "delta": 0.668,
          "percent_delta": 2.012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9371,
          "after": 1.0,
          "delta": 0.0629,
          "percent_delta": 0.0671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1364,
          "after": 0.0,
          "delta": -0.1364,
          "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.5153,
          "after": 1.0,
          "delta": 0.4847,
          "percent_delta": 0.9406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7,
          "after": 1.0,
          "delta": 0.3,
          "percent_delta": 0.4286,
          "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.332,
          "after": 1.0,
          "delta": 0.668,
          "percent_delta": 2.012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1805,
          "after": 0.0,
          "delta": -0.1805,
          "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.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.39,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2384,
          "after": 0.235,
          "delta": -0.0034,
          "percent_delta": -0.0143,
          "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.3013,
          "after": 0.3,
          "delta": -0.0013,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.39,
          "delta": -0.015,
          "percent_delta": -0.037,
          "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_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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2384,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3013,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.235,
          "after": 0.2384,
          "delta": 0.0034,
          "percent_delta": 0.0144,
          "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_OBP",
          "before": 0.3,
          "after": 0.3013,
          "delta": 0.0013,
          "percent_delta": 0.0044,
          "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.39,
          "after": 0.405,
          "delta": 0.015,
          "percent_delta": 0.0386,
          "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_SLG",
          "before": 0.39,
          "after": 0.405,
          "delta": 0.015,
          "percent_delta": 0.0386,
          "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.191,
        "after": 1.0,
        "delta": 0.809,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "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.88,
        "after": 3.0,
        "delta": -1.88,
        "percent_delta": -0.3852,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2384,
        "delta": -0.0046,
        "percent_delta": -0.0189,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.443,
        "after": 1.0,
        "delta": 0.557,
        "percent_delta": 1.2573,
        "direction": "boost",
        "projection_effect": "better",
        "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.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.291,
        "after": 0.3013,
        "delta": 0.0103,
        "percent_delta": 0.0354,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.79,
        "after": 1.0,
        "delta": 0.21,
        "percent_delta": 0.2658,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.432,
        "after": 0.405,
        "delta": -0.027,
        "percent_delta": -0.0625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.641,
        "after": 1.0,
        "delta": 0.359,
        "percent_delta": 0.5601,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 1.0,
        "delta": 0.809,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.88,
        "after": 3.0,
        "delta": -1.88,
        "percent_delta": -0.3852,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "boosted"
    }
  }
}

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.023-
predicted_AB4.880-
predicted_AVG0.243-
predicted_BB0.443-
predicted_H1.190-
predicted_HR0.200-
predicted_OBP0.291-
predicted_R0.565-
predicted_RBI0.790-
predicted_SLG0.432-
predicted_SO0.641-
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.161-0.030
predicted_3B0.019-0.004
predicted_AB4.454-0.426
predicted_AVG0.239-0.004
predicted_BB0.401-0.042
predicted_H1.069-0.121
predicted_HBP0.002-
predicted_HR0.183-0.017
predicted_OBP0.2920.001
predicted_R0.522-0.043
predicted_RBI0.718-0.072
predicted_SLG0.416-0.016
predicted_SO0.6640.023
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.1610.000
predicted_3B0.0190.000
predicted_AB4.4540.000
predicted_AVG0.238-0.001
predicted_BB0.4010.001
predicted_H1.062-0.007
predicted_HBP0.0020.000
predicted_HR0.181-0.002
predicted_OBP0.3010.010
predicted_R0.517-0.005
predicted_RBI0.711-0.007
predicted_SLG0.405-0.011
predicted_SO0.663-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.88), rates preserved: AVG=0.202 HR/AB=0.037

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=18.0, weight=0.150, BvP AVG=0.222)

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.1800.180
3B0.0150.015
BB0.3320.332
H0.937-0.063
HR0.1360.136
RBI0.515-0.485
SO0.700-0.300
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.180
3B0.000-0.015
AB4.0000.000
BB1.0000.668
H1.0000.063
HR0.000-0.136
R1.0000.000
RBI1.0000.485
SO1.0000.300
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.161
predicted_3B0.000-0.019
predicted_AB4.000-0.454
predicted_AVG0.235-0.003
predicted_BB0.000-0.401
predicted_H1.000-0.062
predicted_HR0.000-0.181
predicted_OBP0.300-0.001
predicted_R1.0000.483
predicted_RBI1.0000.289
predicted_SLG0.390-0.015
predicted_SO1.0000.337
11. 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.0000.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
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 131
Reference playing time: 4.880
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.0003.0000.0000.0001.0004.0001.0001.0004.0000.15000.19050.30000.15000.05000.20000.05000.2000
last_100.2010-42.0009.0000.0000.0002.0006.0004.0002.0007.0000.21430.25000.35710.21430.04760.14290.04760.1667
season0.60131-495.000132.00025.0003.00018.00077.00074.00058.00084.0000.26670.33930.43840.26670.03640.15560.11720.1697
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0140
predicted_AB3.9020
predicted_AVG0.2337
predicted_BB0.3460
predicted_H0.9120
predicted_HBP0.0020
predicted_HR0.1600
predicted_OBP0.2924
predicted_R0.4660
predicted_RBI0.6250
predicted_SLG0.3951
predicted_SO0.6930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.12200.1610model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.88003.90204.4544model_form_blend
predicted_AVG0.24300.23370.2390model_form_blend
predicted_BB0.44300.34600.4008model_form_blend
predicted_H1.19000.91201.0690model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.20000.16000.1826model_form_blend
predicted_OBP0.29100.29240.2916model_form_blend
predicted_R0.56500.46600.5219model_form_blend
predicted_RBI0.79000.62500.7182model_form_blend
predicted_SLG0.43200.39510.4159model_form_blend
predicted_SO0.64100.69300.6636model_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 date537
Season rows before report date537
Report year2026
Profile rows used131
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
2B1
3B0
HR0
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_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI4
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB5
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
gameID20260930_BOS@NYY
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-09-30
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
Luis García Jr. (671277) · BATTER · 1B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 149
All-history rows before 20261003: 149
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2997
Diff (system - data): -0.0197
System opponent_avg: 0.1120
System season_avg diverges from 2026 season-to-date by -0.0197. 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.1760.0001.000Hitting_2B0.1740.000-0.1740.000
predicted_3B0.0340.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3804.0004.000Hitting_AB3.9195.0000.081-1.000
predicted_AVG0.2600.0000.250Hitting_AVG0.3000.600-0.300-0.600
predicted_BB0.1690.0000.000Hitting_BB0.2350.000-0.2350.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H1.1400.0001.000Hitting_H1.1743.000-1.174-3.000
predicted_HR0.2900.0000.000Hitting_HR0.2151.000-0.215-1.000
predicted_OBP0.3000.0000.250Hitting_OBP0.3370.600-0.337-0.600
predicted_R0.4730.0000.000Hitting_R0.5501.000-0.550-1.000
predicted_RBI0.6800.0001.000Hitting_RBI0.4771.000-0.477-1.000
predicted_SLG0.4880.0000.500Hitting_SLG0.5091.200-0.509-1.200
predicted_SO0.6620.0001.000Hitting_SO0.8051.000-0.805-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics0
Deboosted Metrics9
Better Metrics1
Worse Metrics8
Biggest Boost-
Biggest Deboostpredicted_H: 1.1400 -> 0.0000 (deboost -1.1400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.6620 -> 0.7129 (boost 0.0509, worse)predicted_AB: 4.3800 -> 4.0174 (deboost -0.3626, 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.4767 -> 0.4910 (boost 0.0143, better)predicted_OBP: 0.3030 -> 0.2940 (deboost -0.0090, 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_RBI: 0.5956 -> 1.0000 (boost 0.4044, better)predicted_HR: 0.2419 -> 0.0000 (deboost -0.2419, worse)AB rounded to 4 (raw=4.38), rates preserved: AVG=0.221 HR/AB=0.055
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4823 -> 0.0000 (deboost -0.4823, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_HR: 0.0000 -> 0.2147 (boost 0.2147, better)predicted_RBI: 1.0000 -> 0.6245 (deboost -0.3755, 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_allocation64233predicted_2B: 0.1904 -> 1.0000 (boost 0.8096, better)predicted_HR: 0.2147 -> 0.0000 (deboost -0.2147, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4680 -> 0.4910 (boost 0.0230, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671277",
  "player_name": "Luis García Jr.",
  "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.176,
        "predicted_3B": 0.034,
        "predicted_AB": 4.38,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.169,
        "predicted_H": 1.14,
        "predicted_HR": 0.29,
        "predicted_OBP": 0.3,
        "predicted_R": 0.473,
        "predicted_RBI": 0.68,
        "predicted_SLG": 0.488,
        "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.1469,
        "predicted_3B": 0.0279,
        "predicted_AB": 4.0174,
        "predicted_AVG": 0.2617,
        "predicted_BB": 0.1933,
        "predicted_H": 1.0513,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2439,
        "predicted_OBP": 0.303,
        "predicted_R": 0.4869,
        "predicted_RBI": 0.6013,
        "predicted_SLG": 0.4767,
        "predicted_SO": 0.7129
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.1469,
          "delta": -0.0291,
          "percent_delta": -0.1653,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.034,
          "after": 0.0279,
          "delta": -0.0061,
          "percent_delta": -0.1794,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.0174,
          "delta": -0.3626,
          "percent_delta": -0.0828,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2617,
          "delta": 0.0017,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.169,
          "after": 0.1933,
          "delta": 0.0243,
          "percent_delta": 0.1438,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.14,
          "after": 1.0513,
          "delta": -0.0887,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.29,
          "after": 0.2439,
          "delta": -0.0461,
          "percent_delta": -0.159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.303,
          "delta": 0.003,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.473,
          "after": 0.4869,
          "delta": 0.0139,
          "percent_delta": 0.0294,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.68,
          "after": 0.6013,
          "delta": -0.0787,
          "percent_delta": -0.1157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.488,
          "after": 0.4767,
          "delta": -0.0113,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.662,
          "after": 0.7129,
          "delta": 0.0509,
          "percent_delta": 0.0769,
          "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.662,
          "after": 0.7129,
          "delta": 0.0509,
          "percent_delta": 0.0769,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.0174,
          "delta": -0.3626,
          "percent_delta": -0.0828,
          "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.1469,
        "predicted_3B": 0.0279,
        "predicted_AB": 4.0174,
        "predicted_AVG": 0.2599,
        "predicted_BB": 0.1936,
        "predicted_H": 1.0443,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2419,
        "predicted_OBP": 0.294,
        "predicted_R": 0.4823,
        "predicted_RBI": 0.5956,
        "predicted_SLG": 0.491,
        "predicted_SO": 0.7119
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1469,
          "after": 0.1469,
          "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": 4.0174,
          "after": 4.0174,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2617,
          "after": 0.2599,
          "delta": -0.0018,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1933,
          "after": 0.1936,
          "delta": 0.0003,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0513,
          "after": 1.0443,
          "delta": -0.007,
          "percent_delta": -0.0067,
          "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.2439,
          "after": 0.2419,
          "delta": -0.002,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.294,
          "delta": -0.009,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4869,
          "after": 0.4823,
          "delta": -0.0046,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6013,
          "after": 0.5956,
          "delta": -0.0057,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4767,
          "after": 0.491,
          "delta": 0.0143,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7129,
          "after": 0.7119,
          "delta": -0.001,
          "percent_delta": -0.0014,
          "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.4767,
          "after": 0.491,
          "delta": 0.0143,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.294,
          "delta": -0.009,
          "percent_delta": -0.0297,
          "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.221 HR/AB=0.055",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1469,
          "after": 0.0,
          "delta": -0.1469,
          "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": 4.0174,
          "after": 4.0,
          "delta": -0.0174,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1936,
          "after": 0.0,
          "delta": -0.1936,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0443,
          "after": 1.0,
          "delta": -0.0443,
          "percent_delta": -0.0424,
          "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.2419,
          "after": 0.0,
          "delta": -0.2419,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5956,
          "after": 1.0,
          "delta": 0.4044,
          "percent_delta": 0.679,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7119,
          "after": 1.0,
          "delta": 0.2881,
          "percent_delta": 0.4047,
          "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_RBI",
          "before": 0.5956,
          "after": 1.0,
          "delta": 0.4044,
          "percent_delta": 0.679,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2419,
          "after": 0.0,
          "delta": -0.2419,
          "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.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 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.4823,
          "after": 0.0,
          "delta": -0.4823,
          "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.4823,
          "after": 0.0,
          "delta": -0.4823,
          "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.1904,
        "predicted_3B": 0.0202,
        "predicted_BB": 0.1719,
        "predicted_H": 0.9486,
        "predicted_HR": 0.2147,
        "predicted_RBI": 0.6245,
        "predicted_SO": 0.8233
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1904,
          "delta": 0.1904,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0202,
          "delta": 0.0202,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1719,
          "delta": 0.1719,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9486,
          "delta": -0.0514,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2147,
          "delta": 0.2147,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6245,
          "delta": -0.3755,
          "percent_delta": -0.3755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8233,
          "delta": -0.1767,
          "percent_delta": -0.1767,
          "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.0,
          "after": 0.2147,
          "delta": 0.2147,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6245,
          "delta": -0.3755,
          "percent_delta": -0.3755,
          "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.1904,
          "after": 1.0,
          "delta": 0.8096,
          "percent_delta": 4.2521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0202,
          "after": 0.0,
          "delta": -0.0202,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1719,
          "after": 0.0,
          "delta": -0.1719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9486,
          "after": 1.0,
          "delta": 0.0514,
          "percent_delta": 0.0542,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2147,
          "after": 0.0,
          "delta": -0.2147,
          "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.6245,
          "after": 1.0,
          "delta": 0.3755,
          "percent_delta": 0.6013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8233,
          "after": 1.0,
          "delta": 0.1767,
          "percent_delta": 0.2146,
          "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_2B",
          "before": 0.1904,
          "after": 1.0,
          "delta": 0.8096,
          "percent_delta": 4.2521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2147,
          "after": 0.0,
          "delta": -0.2147,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.468,
        "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.2599,
          "after": 0.244,
          "delta": -0.0159,
          "percent_delta": -0.0612,
          "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.294,
          "after": 0.281,
          "delta": -0.013,
          "percent_delta": -0.0442,
          "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.491,
          "after": 0.468,
          "delta": -0.023,
          "percent_delta": -0.0468,
          "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_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": 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": 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": 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_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.2599,
        "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.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.491,
        "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.244,
          "after": 0.2599,
          "delta": 0.0159,
          "percent_delta": 0.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.281,
          "after": 0.294,
          "delta": 0.013,
          "percent_delta": 0.0461,
          "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.468,
          "after": 0.491,
          "delta": 0.023,
          "percent_delta": 0.0491,
          "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.468,
          "after": 0.491,
          "delta": 0.023,
          "percent_delta": 0.0491,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.176,
        "after": 0.0,
        "delta": -0.176,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.034,
        "after": 0.0,
        "delta": -0.034,
        "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.26,
        "after": 0.2599,
        "delta": -0.0001,
        "percent_delta": -0.0004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 0.0,
        "delta": -1.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.3,
        "after": 0.294,
        "delta": -0.006,
        "percent_delta": -0.02,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.473,
        "after": 0.0,
        "delta": -0.473,
        "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.488,
        "after": 0.491,
        "delta": 0.003,
        "percent_delta": 0.0061,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 0,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 0.0,
        "delta": -1.14,
        "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.176-
predicted_3B0.034-
predicted_AB4.380-
predicted_AVG0.260-
predicted_BB0.169-
predicted_H1.140-
predicted_HR0.290-
predicted_OBP0.300-
predicted_R0.473-
predicted_RBI0.680-
predicted_SLG0.488-
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.147-0.029
predicted_3B0.028-0.006
predicted_AB4.017-0.363
predicted_AVG0.2620.002
predicted_BB0.1930.024
predicted_H1.051-0.089
predicted_HBP0.002-
predicted_HR0.244-0.046
predicted_OBP0.3030.003
predicted_R0.4870.014
predicted_RBI0.601-0.079
predicted_SLG0.477-0.011
predicted_SO0.7130.051
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.0280.000
predicted_AB4.0170.000
predicted_AVG0.260-0.002
predicted_BB0.1940.000
predicted_H1.044-0.007
predicted_HBP0.0020.000
predicted_HR0.242-0.002
predicted_OBP0.294-0.009
predicted_R0.482-0.005
predicted_RBI0.596-0.006
predicted_SLG0.4910.014
predicted_SO0.712-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.38), rates preserved: AVG=0.221 HR/AB=0.055

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.000)

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.1900.190
3B0.0200.020
BB0.1720.172
H0.949-0.051
HR0.2150.215
RBI0.625-0.375
SO0.823-0.177
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.810
3B0.000-0.020
AB4.0000.000
BB0.000-0.172
H1.0000.051
HR0.000-0.215
R0.0000.000
RBI1.0000.375
SO1.0000.177
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.147
predicted_3B0.000-0.028
predicted_AB4.000-0.017
predicted_AVG0.244-0.016
predicted_BB0.000-0.194
predicted_H1.000-0.044
predicted_HR0.000-0.242
predicted_OBP0.281-0.013
predicted_R0.000-0.482
predicted_RBI1.0000.404
predicted_SLG0.468-0.023
predicted_SO1.0000.288
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.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 148
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-17.0005.0000.0000.0001.0002.0003.0002.0004.0000.29410.36840.47060.29410.05880.11770.11770.2353
last_100.2010-37.0007.0000.0000.0001.0002.0005.0002.00011.0000.18920.23080.27030.18920.02700.05410.05410.2973
season0.60148-521.000146.00026.0005.00031.00093.00070.00025.00098.0000.28020.31200.52780.28020.05950.17850.04800.1881
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1090
predicted_3B0.0200
predicted_AB3.5460
predicted_AVG0.2639
predicted_BB0.2250
predicted_H0.9360
predicted_HBP0.0020
predicted_HR0.1840
predicted_OBP0.3070
predicted_R0.5050
predicted_RBI0.4990
predicted_SLG0.4619
predicted_SO0.7790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.10900.1469model_form_blend
predicted_3B0.03400.02000.0279model_form_blend
predicted_AB4.38003.54604.0174model_form_blend
predicted_AVG0.26000.26390.2617model_form_blend
predicted_BB0.16900.22500.1933model_form_blend
predicted_H1.14000.93601.0513model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.29000.18400.2439model_form_blend
predicted_OBP0.30000.30700.3030model_form_blend
predicted_R0.47300.50500.4869model_form_blend
predicted_RBI0.68000.49900.6013model_form_blend
predicted_SLG0.48800.46190.4767model_form_blend
predicted_SO0.66200.77900.7129model_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 date149
Season rows before report date149
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
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_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
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
gameID20260930_BOS@NYY
game_typefull
mlbID671277
playerID671277
playerNameLuis García Jr.
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-09-30
sl_k_percent17.9
sl_bb_percent4.6
sl_woba0.355
sl_xwoba0.341
sl_xba0.276
sl_xslg0.486
sl_sweet_spot_percent33.0
sl_barrel_batted_rate12.2
sl_hard_hit_percent46.1
sl_exit_velocity_avg91.4
sl_launch_angle_avg11.5
sl_whiff_percent20.8
sl_swing_percent52.6
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 634
All-history rows before 20261003: 634
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2708
Diff (system - data): 0.0002
System opponent_avg: 0.0620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1580.0000.000Hitting_2B0.1590.000-0.1590.000
predicted_3B0.0260.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB4.6104.0004.000Hitting_AB3.8334.0000.1670.000
predicted_AVG0.2780.0000.250Hitting_AVG0.2710.250-0.271-0.250
predicted_BB0.5660.0001.000Hitting_BB0.6031.000-0.603-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0020.000-0.0020.000
predicted_H1.2800.0001.000Hitting_H1.0381.000-1.038-1.000
predicted_HR0.2800.0001.000Hitting_HR0.2670.000-0.2670.000
predicted_OBP0.3920.0000.400Hitting_OBP0.3750.400-0.375-0.400
predicted_R0.7040.0001.000Hitting_R0.7191.000-0.719-1.000
predicted_RBI1.1300.0001.000Hitting_RBI0.6800.000-0.6800.000
predicted_SLG0.5660.0001.000Hitting_SLG0.5330.250-0.533-0.250
predicted_SO1.0391.0001.000Hitting_SO1.0571.000-0.0570.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AVG: 0.2780 -> 0.2863 (boost 0.0083, better)
Biggest Deboostpredicted_H: 1.2800 -> 0.0000 (deboost -1.2800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_SLG: 0.5660 -> 0.5918 (boost 0.0258, better)predicted_AB: 4.6100 -> 4.2501 (deboost -0.3599, 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.5918 -> 0.5484 (deboost -0.0434, 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.5668 -> 0.0000 (deboost -0.5668, worse)AB rounded to 4 (raw=4.61), rates preserved: AVG=0.245 HR/AB=0.064
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)
7consistency_constraints11010predicted_R: 0.7251 -> 1.0000 (boost 0.2749, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3877 (boost 0.3877, better)predicted_RBI: 1.0000 -> 0.5751 (deboost -0.4249, 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_allocation64251predicted_HR: 0.2480 -> 1.0000 (boost 0.7520, better)predicted_2B: 0.1613 -> 0.0000 (deboost -0.1613, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_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
11simulation_box_score_reference30303-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4690 -> 0.5484 (boost 0.0794, 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.158,
        "predicted_3B": 0.026,
        "predicted_AB": 4.61,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.566,
        "predicted_H": 1.28,
        "predicted_HR": 0.28,
        "predicted_OBP": 0.392,
        "predicted_R": 0.704,
        "predicted_RBI": 1.13,
        "predicted_SLG": 0.566,
        "predicted_SO": 1.039
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1899,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.2501,
        "predicted_AVG": 0.2897,
        "predicted_BB": 0.566,
        "predicted_H": 1.2249,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2962,
        "predicted_OBP": 0.3937,
        "predicted_R": 0.732,
        "predicted_RBI": 0.9826,
        "predicted_SLG": 0.5918,
        "predicted_SO": 1.0784
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.158,
          "after": 0.1899,
          "delta": 0.0319,
          "percent_delta": 0.2019,
          "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.61,
          "after": 4.2501,
          "delta": -0.3599,
          "percent_delta": -0.0781,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.2897,
          "delta": 0.0117,
          "percent_delta": 0.0421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.566,
          "after": 0.566,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.28,
          "after": 1.2249,
          "delta": -0.0551,
          "percent_delta": -0.043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.28,
          "after": 0.2962,
          "delta": 0.0162,
          "percent_delta": 0.0579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.392,
          "after": 0.3937,
          "delta": 0.0017,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.704,
          "after": 0.732,
          "delta": 0.028,
          "percent_delta": 0.0398,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.13,
          "after": 0.9826,
          "delta": -0.1474,
          "percent_delta": -0.1304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.566,
          "after": 0.5918,
          "delta": 0.0258,
          "percent_delta": 0.0456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.039,
          "after": 1.0784,
          "delta": 0.0394,
          "percent_delta": 0.0379,
          "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.566,
          "after": 0.5918,
          "delta": 0.0258,
          "percent_delta": 0.0456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.61,
          "after": 4.2501,
          "delta": -0.3599,
          "percent_delta": -0.0781,
          "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.1899,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.2501,
        "predicted_AVG": 0.2863,
        "predicted_BB": 0.5668,
        "predicted_H": 1.2167,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2937,
        "predicted_OBP": 0.3703,
        "predicted_R": 0.7251,
        "predicted_RBI": 0.9734,
        "predicted_SLG": 0.5484,
        "predicted_SO": 1.0769
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1899,
          "after": 0.1899,
          "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.2501,
          "after": 4.2501,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2897,
          "after": 0.2863,
          "delta": -0.0034,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.566,
          "after": 0.5668,
          "delta": 0.0008,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2249,
          "after": 1.2167,
          "delta": -0.0082,
          "percent_delta": -0.0067,
          "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.2962,
          "after": 0.2937,
          "delta": -0.0025,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3937,
          "after": 0.3703,
          "delta": -0.0234,
          "percent_delta": -0.0594,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.732,
          "after": 0.7251,
          "delta": -0.0069,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9826,
          "after": 0.9734,
          "delta": -0.0092,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5918,
          "after": 0.5484,
          "delta": -0.0434,
          "percent_delta": -0.0733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0784,
          "after": 1.0769,
          "delta": -0.0015,
          "percent_delta": -0.0014,
          "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.5918,
          "after": 0.5484,
          "delta": -0.0434,
          "percent_delta": -0.0733,
          "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.61), rates preserved: AVG=0.245 HR/AB=0.064",
      "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.1899,
          "after": 0.0,
          "delta": -0.1899,
          "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.2501,
          "after": 4.0,
          "delta": -0.2501,
          "percent_delta": -0.0588,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5668,
          "after": 0.0,
          "delta": -0.5668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2167,
          "after": 1.0,
          "delta": -0.2167,
          "percent_delta": -0.1781,
          "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.2937,
          "after": 0.0,
          "delta": -0.2937,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9734,
          "after": 1.0,
          "delta": 0.0266,
          "percent_delta": 0.0273,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0769,
          "after": 1.0,
          "delta": -0.0769,
          "percent_delta": -0.0714,
          "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.5668,
          "after": 0.0,
          "delta": -0.5668,
          "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=16.0, weight=0.139, BvP AVG=0.062)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      },
      "window_games": {}
    },
    {
      "index": 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.7251,
          "after": 1.0,
          "delta": 0.2749,
          "percent_delta": 0.3791,
          "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.7251,
          "after": 1.0,
          "delta": 0.2749,
          "percent_delta": 0.3791,
          "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.0154,
        "predicted_BB": 0.3877,
        "predicted_H": 0.8493,
        "predicted_HR": 0.248,
        "predicted_RBI": 0.5751,
        "predicted_SO": 1.117
      },
      "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.0154,
          "delta": 0.0154,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3877,
          "delta": 0.3877,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8493,
          "delta": -0.1507,
          "percent_delta": -0.1507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.248,
          "delta": 0.248,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5751,
          "delta": -0.4249,
          "percent_delta": -0.4249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.117,
          "delta": 0.117,
          "percent_delta": 0.117,
          "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.3877,
          "delta": 0.3877,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5751,
          "delta": -0.4249,
          "percent_delta": -0.4249,
          "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.1613,
          "after": 0.0,
          "delta": -0.1613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0154,
          "after": 0.0,
          "delta": -0.0154,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3877,
          "after": 1.0,
          "delta": 0.6123,
          "percent_delta": 1.5793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8493,
          "after": 1.0,
          "delta": 0.1507,
          "percent_delta": 0.1774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.248,
          "after": 1.0,
          "delta": 0.752,
          "percent_delta": 3.0323,
          "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.5751,
          "after": 1.0,
          "delta": 0.4249,
          "percent_delta": 0.7388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.117,
          "after": 1.0,
          "delta": -0.117,
          "percent_delta": -0.1047,
          "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.248,
          "after": 1.0,
          "delta": 0.752,
          "percent_delta": 3.0323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1613,
          "after": 0.0,
          "delta": -0.1613,
          "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.223,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.469,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2863,
          "after": 0.223,
          "delta": -0.0633,
          "percent_delta": -0.2211,
          "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.3703,
          "after": 0.3,
          "delta": -0.0703,
          "percent_delta": -0.1898,
          "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.5484,
          "after": 0.469,
          "delta": -0.0794,
          "percent_delta": -0.1448,
          "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": 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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2863,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3703,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5484,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2863,
          "delta": 0.0633,
          "percent_delta": 0.2837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.3,
          "after": 0.3703,
          "delta": 0.0703,
          "percent_delta": 0.2342,
          "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.469,
          "after": 0.5484,
          "delta": 0.0794,
          "percent_delta": 0.1694,
          "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.469,
          "after": 0.5484,
          "delta": 0.0794,
          "percent_delta": 0.1694,
          "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": 4.61,
        "after": 4.0,
        "delta": -0.61,
        "percent_delta": -0.1323,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.2863,
        "delta": 0.0083,
        "percent_delta": 0.0299,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.566,
        "after": 0.0,
        "delta": -0.566,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 0.0,
        "delta": -1.28,
        "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.392,
        "after": 0.3703,
        "delta": -0.0217,
        "percent_delta": -0.0554,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.704,
        "after": 0.0,
        "delta": -0.704,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 1.13,
        "after": 0.0,
        "delta": -1.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.566,
        "after": 0.5484,
        "delta": -0.0176,
        "percent_delta": -0.0311,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.039,
        "after": 1.0,
        "delta": -0.039,
        "percent_delta": -0.0375,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.2863,
        "delta": 0.0083,
        "percent_delta": 0.0299,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 0.0,
        "delta": -1.28,
        "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_AB4.610-
predicted_AVG0.278-
predicted_BB0.566-
predicted_H1.280-
predicted_HR0.280-
predicted_OBP0.392-
predicted_R0.704-
predicted_RBI1.130-
predicted_SLG0.566-
predicted_SO1.039-
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.032
predicted_3B0.022-0.004
predicted_AB4.250-0.360
predicted_AVG0.2900.012
predicted_BB0.5660.000
predicted_H1.225-0.055
predicted_HBP0.024-
predicted_HR0.2960.016
predicted_OBP0.3940.002
predicted_R0.7320.028
predicted_RBI0.983-0.147
predicted_SLG0.5920.026
predicted_SO1.0780.039
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.0220.000
predicted_AB4.2500.000
predicted_AVG0.286-0.003
predicted_BB0.5670.001
predicted_H1.217-0.008
predicted_HBP0.0240.000
predicted_HR0.294-0.003
predicted_OBP0.370-0.023
predicted_R0.725-0.007
predicted_RBI0.973-0.009
predicted_SLG0.548-0.043
predicted_SO1.077-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.61), rates preserved: AVG=0.245 HR/AB=0.064

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=16.0, weight=0.139, BvP AVG=0.062)

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.1610.161
3B0.0150.015
BB0.3880.388
H0.849-0.151
HR0.2480.248
RBI0.575-0.425
SO1.1170.117
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.015
AB4.0000.000
BB1.0000.612
H1.0000.151
HR1.0000.752
R1.0000.000
RBI1.0000.425
SO1.000-0.117
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.022
predicted_AB4.000-0.250
predicted_AVG0.223-0.063
predicted_BB0.000-0.567
predicted_H1.000-0.217
predicted_HR0.000-0.294
predicted_OBP0.300-0.070
predicted_R1.0000.275
predicted_RBI1.0000.027
predicted_SLG0.469-0.079
predicted_SO1.000-0.077
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
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.610
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.0008.0002.0000.0002.0006.0005.0003.0007.0000.40000.47830.80000.40000.10000.30000.15000.3500
last_100.2010-37.00012.0003.0000.0004.0009.0008.0006.00012.0000.32430.40910.72970.32430.10810.24320.16220.3243
season0.60152-569.000154.00024.0004.00042.00099.000107.00086.000158.0000.27070.37100.54830.27070.07380.17400.15110.2777
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2310
predicted_3B0.0160
predicted_AB3.7870
predicted_AVG0.3047
predicted_BB0.5660
predicted_H1.1540
predicted_HBP0.0240
predicted_HR0.3170
predicted_OBP0.3960
predicted_R0.7680
predicted_RBI0.7930
predicted_SLG0.6251
predicted_SO1.1290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15800.23100.1899model_form_blend
predicted_3B0.02600.01600.0216model_form_blend
predicted_AB4.61003.78704.2501model_form_blend
predicted_AVG0.27800.30470.2897model_form_blend
predicted_BB0.56600.56600.5660model_form_blend
predicted_H1.28001.15401.2249model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.28000.31700.2962model_form_blend
predicted_OBP0.39200.39600.3937model_form_blend
predicted_R0.70400.76800.7320model_form_blend
predicted_RBI1.13000.79300.9826model_form_blend
predicted_SLG0.56600.62510.5918model_form_blend
predicted_SO1.03901.12901.0784model_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 date634
Season rows before report date634
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
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.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
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
allPositionsPlayedDH
gameID20260930_BOS@NYY
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-09-30
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
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 20261003: 140
All-history rows before 20261003: 140
System season_avg: 0.2550
Data season_avg (2026 season-to-date): 0.2294
Diff (system - data): 0.0256
System opponent_avg: 0.3120
System season_avg diverges from 2026 season-to-date by 0.0256. 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.0930.0000.000Hitting_2B0.0930.000-0.0930.000
predicted_3B0.0231.0000.000Hitting_3B0.0290.0000.9711.000
predicted_AB4.0903.0004.000Hitting_AB3.6434.000-0.643-1.000
predicted_AVG0.2730.3330.250Hitting_AVG0.2290.2500.1040.083
predicted_BB0.2331.0000.000Hitting_BB0.2500.0000.7501.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H1.1201.0001.000Hitting_H0.8361.0000.1640.000
predicted_HR0.2000.0000.000Hitting_HR0.1070.000-0.1070.000
predicted_OBP0.3180.5000.250Hitting_OBP0.2810.2500.2190.250
predicted_R0.6051.0001.000Hitting_R0.5791.0000.4210.000
predicted_RBI0.7600.0000.000Hitting_RBI0.4001.000-0.400-1.000
predicted_SLG0.4751.0000.250Hitting_SLG0.3590.2500.6410.750
predicted_SO1.0230.0001.000Hitting_SO1.0362.000-1.036-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_3B: 0.0230 -> 1.0000 (boost 0.9770, better)
Biggest Deboostpredicted_AB: 4.0900 -> 3.0000 (deboost -1.0900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.4750 -> 0.4862 (boost 0.0112, better)predicted_AB: 4.0900 -> 3.9828 (deboost -0.1072, 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.4862 -> 0.4702 (deboost -0.0160, 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_RBI: 0.7255 -> 1.0000 (boost 0.2745, better)predicted_HR: 0.2120 -> 0.0000 (deboost -0.2120, worse)AB rounded to 4 (raw=4.09), rates preserved: AVG=0.247 HR/AB=0.052
6consistency_constraints11010predicted_R: 0.6432 -> 1.0000 (boost 0.3568, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2060 (boost 0.2060, better)predicted_RBI: 1.0000 -> 0.5132 (deboost -0.4868, 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.8748 -> 1.0000 (boost 0.1252, better)predicted_RBI: 0.5132 -> 0.0000 (deboost -0.5132, 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_SLG: 0.4702 -> 0.4050 (deboost -0.0652, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52332predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4050 -> 0.4702 (boost 0.0652, better)-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.093,
        "predicted_3B": 0.023,
        "predicted_AB": 4.09,
        "predicted_AVG": 0.273,
        "predicted_BB": 0.233,
        "predicted_H": 1.12,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.318,
        "predicted_R": 0.605,
        "predicted_RBI": 0.76,
        "predicted_SLG": 0.475,
        "predicted_SO": 1.023
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1056,
        "predicted_3B": 0.0198,
        "predicted_AB": 3.9828,
        "predicted_AVG": 0.2755,
        "predicted_BB": 0.205,
        "predicted_H": 1.0989,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.2138,
        "predicted_OBP": 0.315,
        "predicted_R": 0.6493,
        "predicted_RBI": 0.7324,
        "predicted_SLG": 0.4862,
        "predicted_SO": 1.0551
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.093,
          "after": 0.1056,
          "delta": 0.0126,
          "percent_delta": 0.1355,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0198,
          "delta": -0.0032,
          "percent_delta": -0.1391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.09,
          "after": 3.9828,
          "delta": -0.1072,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.273,
          "after": 0.2755,
          "delta": 0.0025,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.205,
          "delta": -0.028,
          "percent_delta": -0.1202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.0989,
          "delta": -0.0211,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.2138,
          "delta": 0.0138,
          "percent_delta": 0.069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.315,
          "delta": -0.003,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.605,
          "after": 0.6493,
          "delta": 0.0443,
          "percent_delta": 0.0732,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.76,
          "after": 0.7324,
          "delta": -0.0276,
          "percent_delta": -0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.475,
          "after": 0.4862,
          "delta": 0.0112,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.023,
          "after": 1.0551,
          "delta": 0.0321,
          "percent_delta": 0.0314,
          "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.475,
          "after": 0.4862,
          "delta": 0.0112,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.09,
          "after": 3.9828,
          "delta": -0.1072,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 43
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1056,
        "predicted_3B": 0.0198,
        "predicted_AB": 3.9828,
        "predicted_AVG": 0.2741,
        "predicted_BB": 0.2053,
        "predicted_H": 1.0915,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.212,
        "predicted_OBP": 0.3096,
        "predicted_R": 0.6432,
        "predicted_RBI": 0.7255,
        "predicted_SLG": 0.4702,
        "predicted_SO": 1.0536
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1056,
          "after": 0.1056,
          "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": 3.9828,
          "after": 3.9828,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2755,
          "after": 0.2741,
          "delta": -0.0014,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.205,
          "after": 0.2053,
          "delta": 0.0003,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0989,
          "after": 1.0915,
          "delta": -0.0074,
          "percent_delta": -0.0067,
          "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.2138,
          "after": 0.212,
          "delta": -0.0018,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3096,
          "delta": -0.0054,
          "percent_delta": -0.0171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6493,
          "after": 0.6432,
          "delta": -0.0061,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7324,
          "after": 0.7255,
          "delta": -0.0069,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4862,
          "after": 0.4702,
          "delta": -0.016,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0551,
          "after": 1.0536,
          "delta": -0.0015,
          "percent_delta": -0.0014,
          "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.4862,
          "after": 0.4702,
          "delta": -0.016,
          "percent_delta": -0.0329,
          "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.09), rates preserved: AVG=0.247 HR/AB=0.052",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1056,
          "after": 0.0,
          "delta": -0.1056,
          "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": 3.9828,
          "after": 4.0,
          "delta": 0.0172,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2053,
          "after": 0.0,
          "delta": -0.2053,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0915,
          "after": 1.0,
          "delta": -0.0915,
          "percent_delta": -0.0838,
          "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.212,
          "after": 0.0,
          "delta": -0.212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7255,
          "after": 1.0,
          "delta": 0.2745,
          "percent_delta": 0.3784,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0536,
          "after": 1.0,
          "delta": -0.0536,
          "percent_delta": -0.0509,
          "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.7255,
          "after": 1.0,
          "delta": 0.2745,
          "percent_delta": 0.3784,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.212,
          "after": 0.0,
          "delta": -0.212,
          "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.6432,
          "after": 1.0,
          "delta": 0.3568,
          "percent_delta": 0.5547,
          "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.6432,
          "after": 1.0,
          "delta": 0.3568,
          "percent_delta": 0.5547,
          "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.1609,
        "predicted_3B": 0.0141,
        "predicted_BB": 0.206,
        "predicted_H": 0.8748,
        "predicted_HR": 0.154,
        "predicted_RBI": 0.5132,
        "predicted_SO": 1.1258
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1609,
          "delta": 0.1609,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0141,
          "delta": 0.0141,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.206,
          "delta": 0.206,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8748,
          "delta": -0.1252,
          "percent_delta": -0.1252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.154,
          "delta": 0.154,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5132,
          "delta": -0.4868,
          "percent_delta": -0.4868,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1258,
          "delta": 0.1258,
          "percent_delta": 0.1258,
          "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.206,
          "delta": 0.206,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5132,
          "delta": -0.4868,
          "percent_delta": -0.4868,
          "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.1609,
          "after": 0.0,
          "delta": -0.1609,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0141,
          "after": 0.0,
          "delta": -0.0141,
          "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.206,
          "after": 0.0,
          "delta": -0.206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8748,
          "after": 1.0,
          "delta": 0.1252,
          "percent_delta": 0.1431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.154,
          "after": 0.0,
          "delta": -0.154,
          "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.5132,
          "after": 0.0,
          "delta": -0.5132,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1258,
          "after": 1.0,
          "delta": -0.1258,
          "percent_delta": -0.1117,
          "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.8748,
          "after": 1.0,
          "delta": 0.1252,
          "percent_delta": 0.1431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5132,
          "after": 0.0,
          "delta": -0.5132,
          "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.278,
        "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.2741,
          "after": 0.232,
          "delta": -0.0421,
          "percent_delta": -0.1536,
          "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.3096,
          "after": 0.278,
          "delta": -0.0316,
          "percent_delta": -0.1021,
          "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.4702,
          "after": 0.405,
          "delta": -0.0652,
          "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": 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_SLG",
          "before": 0.4702,
          "after": 0.405,
          "delta": -0.0652,
          "percent_delta": -0.1387,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 1.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2741,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3096,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4702,
        "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2741,
          "delta": 0.0421,
          "percent_delta": 0.1813,
          "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.278,
          "after": 0.3096,
          "delta": 0.0316,
          "percent_delta": 0.1138,
          "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.405,
          "after": 0.4702,
          "delta": 0.0652,
          "percent_delta": 0.161,
          "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.405,
          "after": 0.4702,
          "delta": 0.0652,
          "percent_delta": 0.161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.093,
        "after": 0.0,
        "delta": -0.093,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 1.0,
        "delta": 0.977,
        "percent_delta": 42.4783,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.09,
        "after": 3.0,
        "delta": -1.09,
        "percent_delta": -0.2665,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.273,
        "after": 0.2741,
        "delta": 0.0011,
        "percent_delta": 0.004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.233,
        "after": 1.0,
        "delta": 0.767,
        "percent_delta": 3.2918,
        "direction": "boost",
        "projection_effect": "better",
        "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.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.318,
        "after": 0.3096,
        "delta": -0.0084,
        "percent_delta": -0.0264,
        "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.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.475,
        "after": 0.4702,
        "delta": -0.0048,
        "percent_delta": -0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.023,
        "after": 0.0,
        "delta": -1.023,
        "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_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_AB",
        "before": 4.09,
        "after": 3.0,
        "delta": -1.09,
        "percent_delta": -0.2665,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.093-
predicted_3B0.023-
predicted_AB4.090-
predicted_AVG0.273-
predicted_BB0.233-
predicted_H1.120-
predicted_HR0.200-
predicted_OBP0.318-
predicted_R0.605-
predicted_RBI0.760-
predicted_SLG0.475-
predicted_SO1.023-
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.1060.013
predicted_3B0.020-0.003
predicted_AB3.983-0.107
predicted_AVG0.2760.003
predicted_BB0.205-0.028
predicted_H1.099-0.021
predicted_HBP0.017-
predicted_HR0.2140.014
predicted_OBP0.315-0.003
predicted_R0.6490.044
predicted_RBI0.732-0.028
predicted_SLG0.4860.011
predicted_SO1.0550.032
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.0200.000
predicted_AB3.9830.000
predicted_AVG0.274-0.001
predicted_BB0.2050.000
predicted_H1.091-0.007
predicted_HBP0.0170.000
predicted_HR0.212-0.002
predicted_OBP0.310-0.005
predicted_R0.643-0.006
predicted_RBI0.726-0.007
predicted_SLG0.470-0.016
predicted_SO1.054-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.09), rates preserved: AVG=0.247 HR/AB=0.052

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.1610.161
3B0.0140.014
BB0.2060.206
H0.875-0.125
HR0.1540.154
RBI0.513-0.487
SO1.1260.126
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.014
AB4.0000.000
BB0.000-0.206
H1.0000.125
HR0.000-0.154
R1.0000.000
RBI0.000-0.513
SO1.000-0.126
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.106
predicted_3B0.000-0.020
predicted_AB4.0000.017
predicted_AVG0.232-0.042
predicted_BB0.000-0.205
predicted_H1.000-0.091
predicted_HR0.000-0.212
predicted_OBP0.278-0.032
predicted_R1.0000.357
predicted_RBI1.0000.274
predicted_SLG0.405-0.065
predicted_SO1.000-0.054
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 43
Reference playing time: 4.090
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.0002.0005.0006.0000.0008.0000.33330.33330.66670.33330.09520.23810.00000.3810
last_100.2010-40.00013.0001.0000.0004.00011.0008.0000.00011.0000.32500.32500.65000.32500.10000.27500.00000.2750
season0.6043-157.00040.0004.0001.0007.00023.00026.00010.00044.0000.25480.30000.42680.25480.04460.14650.06370.2802
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0150
predicted_AB3.8260
predicted_AVG0.2791
predicted_BB0.1640
predicted_H1.0680
predicted_HBP0.0170
predicted_HR0.2340
predicted_OBP0.3107
predicted_R0.7140
predicted_RBI0.6920
predicted_SLG0.5026
predicted_SO1.1020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09300.12400.1056model_form_blend
predicted_3B0.02300.01500.0198model_form_blend
predicted_AB4.09003.82603.9828model_form_blend
predicted_AVG0.27300.27910.2755model_form_blend
predicted_BB0.23300.16400.2050model_form_blend
predicted_H1.12001.06801.0989model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.20000.23400.2138model_form_blend
predicted_OBP0.31800.31070.3150model_form_blend
predicted_R0.60500.71400.6493model_form_blend
predicted_RBI0.76000.69200.7324model_form_blend
predicted_SLG0.47500.50260.4862model_form_blend
predicted_SO1.02301.10201.0551model_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 date140
Season rows before report date140
Report year2026
Profile rows used43
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
3B1
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.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
allPositionsPlayedSS
gameID20260930_BOS@NYY
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-09-30
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
Jazz Chisholm Jr. (665862) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 525
All-history rows before 20261003: 525
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2384
Diff (system - data): -0.0024
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.1120.0000.000Hitting_2B0.1220.000-0.1220.000
predicted_3B0.0220.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB3.4783.0003.000Hitting_AB3.6193.000-0.6190.000
predicted_AVG0.2620.0000.333Hitting_AVG0.2380.667-0.238-0.667
predicted_BB0.4031.0000.000Hitting_BB0.4461.0000.5540.000
predicted_CS-0.0000.000BaseRunning_CS0.0720.000-0.0720.000
predicted_H0.9000.0001.000Hitting_H0.8632.000-0.863-2.000
predicted_HR0.1100.0000.000Hitting_HR0.1580.000-0.1580.000
predicted_OBP0.3530.2500.333Hitting_OBP0.3210.750-0.071-0.500
predicted_R0.5150.0001.000Hitting_R0.5622.000-0.562-2.000
predicted_RBI0.3100.0000.000Hitting_RBI0.4570.000-0.4570.000
predicted_SB-0.0000.000BaseRunning_SB0.3182.000-0.318-2.000
predicted_SLG0.3790.0000.333Hitting_SLG0.4170.667-0.417-0.667
predicted_SO1.1571.0001.000Hitting_SO1.1790.000-0.1791.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_BB: 0.4030 -> 1.0000 (boost 0.5970, better)
Biggest Deboostpredicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32130predicted_SLG: 0.3790 -> 0.3863 (boost 0.0073, better)predicted_SO: 1.1570 -> 1.0993 (deboost -0.0577, 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.3863 -> 0.3945 (boost 0.0082, better)predicted_OBP: 0.3550 -> 0.3444 (deboost -0.0106, 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.9172 -> 1.0000 (boost 0.0828, better)predicted_AB: 3.4728 -> 3.0000 (deboost -0.4728, worse)AB rounded to 3 (raw=3.48), rates preserved: AVG=0.244 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)
7consistency_constraints11010predicted_R: 0.5239 -> 1.0000 (boost 0.4761, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3783 (boost 0.3783, better)predicted_H: 1.0000 -> 0.7283 (deboost -0.2717, 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.7283 -> 1.0000 (boost 0.2717, better)predicted_RBI: 0.3783 -> 0.0000 (deboost -0.3783, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_OBP: 0.3444 -> 0.2820 (deboost -0.0624, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final33030predicted_OBP: 0.2820 -> 0.3444 (boost 0.0624, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665862",
  "player_name": "Jazz Chisholm Jr.",
  "position": "2B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.112,
        "predicted_3B": 0.022,
        "predicted_AB": 3.478,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.403,
        "predicted_H": 0.9,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.353,
        "predicted_R": 0.515,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.379,
        "predicted_SO": 1.157
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0946,
        "predicted_3B": 0.0181,
        "predicted_AB": 3.4728,
        "predicted_AVG": 0.2678,
        "predicted_BB": 0.4247,
        "predicted_H": 0.9234,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1083,
        "predicted_OBP": 0.355,
        "predicted_R": 0.5289,
        "predicted_RBI": 0.2948,
        "predicted_SLG": 0.3863,
        "predicted_SO": 1.0993
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.112,
          "after": 0.0946,
          "delta": -0.0174,
          "percent_delta": -0.1554,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0181,
          "delta": -0.0039,
          "percent_delta": -0.1773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.478,
          "after": 3.4728,
          "delta": -0.0052,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2678,
          "delta": 0.0058,
          "percent_delta": 0.0221,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.403,
          "after": 0.4247,
          "delta": 0.0217,
          "percent_delta": 0.0538,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 0.9234,
          "delta": 0.0234,
          "percent_delta": 0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1083,
          "delta": -0.0017,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.353,
          "after": 0.355,
          "delta": 0.002,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.515,
          "after": 0.5289,
          "delta": 0.0139,
          "percent_delta": 0.027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.2948,
          "delta": -0.0152,
          "percent_delta": -0.049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3863,
          "delta": 0.0073,
          "percent_delta": 0.0193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.157,
          "after": 1.0993,
          "delta": -0.0577,
          "percent_delta": -0.0499,
          "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_SLG",
          "before": 0.379,
          "after": 0.3863,
          "delta": 0.0073,
          "percent_delta": 0.0193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.157,
          "after": 1.0993,
          "delta": -0.0577,
          "percent_delta": -0.0499,
          "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": 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.0946,
        "predicted_3B": 0.0181,
        "predicted_AB": 3.4728,
        "predicted_AVG": 0.2641,
        "predicted_BB": 0.4253,
        "predicted_H": 0.9172,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1074,
        "predicted_OBP": 0.3444,
        "predicted_R": 0.5239,
        "predicted_RBI": 0.292,
        "predicted_SLG": 0.3945,
        "predicted_SO": 1.0978
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0946,
          "after": 0.0946,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0181,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4728,
          "after": 3.4728,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2678,
          "after": 0.2641,
          "delta": -0.0037,
          "percent_delta": -0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4247,
          "after": 0.4253,
          "delta": 0.0006,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9234,
          "after": 0.9172,
          "delta": -0.0062,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1083,
          "after": 0.1074,
          "delta": -0.0009,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3444,
          "delta": -0.0106,
          "percent_delta": -0.0299,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5289,
          "after": 0.5239,
          "delta": -0.005,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2948,
          "after": 0.292,
          "delta": -0.0028,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3863,
          "after": 0.3945,
          "delta": 0.0082,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0993,
          "after": 1.0978,
          "delta": -0.0015,
          "percent_delta": -0.0014,
          "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.3863,
          "after": 0.3945,
          "delta": 0.0082,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3444,
          "delta": -0.0106,
          "percent_delta": -0.0299,
          "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.48), rates preserved: AVG=0.244 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.0946,
          "after": 0.0,
          "delta": -0.0946,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0,
          "delta": -0.0181,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4728,
          "after": 3.0,
          "delta": -0.4728,
          "percent_delta": -0.1361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4253,
          "after": 0.0,
          "delta": -0.4253,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9172,
          "after": 1.0,
          "delta": 0.0828,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1074,
          "after": 0.0,
          "delta": -0.1074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.292,
          "after": 0.0,
          "delta": -0.292,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0978,
          "after": 1.0,
          "delta": -0.0978,
          "percent_delta": -0.0891,
          "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.9172,
          "after": 1.0,
          "delta": 0.0828,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4728,
          "after": 3.0,
          "delta": -0.4728,
          "percent_delta": -0.1361,
          "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": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 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.5239,
          "after": 1.0,
          "delta": 0.4761,
          "percent_delta": 0.9088,
          "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.5239,
          "after": 1.0,
          "delta": 0.4761,
          "percent_delta": 0.9088,
          "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.1527,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.2788,
        "predicted_H": 0.7283,
        "predicted_HR": 0.1264,
        "predicted_RBI": 0.3783,
        "predicted_SO": 1.1501
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1527,
          "delta": 0.1527,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0129,
          "delta": 0.0129,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2788,
          "delta": 0.2788,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7283,
          "delta": -0.2717,
          "percent_delta": -0.2717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1264,
          "delta": 0.1264,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3783,
          "delta": 0.3783,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1501,
          "delta": 0.1501,
          "percent_delta": 0.1501,
          "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.3783,
          "delta": 0.3783,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7283,
          "delta": -0.2717,
          "percent_delta": -0.2717,
          "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": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1527,
          "after": 0.0,
          "delta": -0.1527,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2788,
          "after": 0.0,
          "delta": -0.2788,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7283,
          "after": 1.0,
          "delta": 0.2717,
          "percent_delta": 0.3731,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1264,
          "after": 0.0,
          "delta": -0.1264,
          "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.3783,
          "after": 0.0,
          "delta": -0.3783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1501,
          "after": 1.0,
          "delta": -0.1501,
          "percent_delta": -0.1305,
          "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.7283,
          "after": 1.0,
          "delta": 0.2717,
          "percent_delta": 0.3731,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3783,
          "after": 0.0,
          "delta": -0.3783,
          "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.216,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.381,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2641,
          "after": 0.216,
          "delta": -0.0481,
          "percent_delta": -0.1821,
          "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.3444,
          "after": 0.282,
          "delta": -0.0624,
          "percent_delta": -0.1812,
          "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.3945,
          "after": 0.381,
          "delta": -0.0135,
          "percent_delta": -0.0342,
          "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.3444,
          "after": 0.282,
          "delta": -0.0624,
          "percent_delta": -0.1812,
          "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": 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": 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.2641,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3444,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3945,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.216,
          "after": 0.2641,
          "delta": 0.0481,
          "percent_delta": 0.2227,
          "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.282,
          "after": 0.3444,
          "delta": 0.0624,
          "percent_delta": 0.2213,
          "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.381,
          "after": 0.3945,
          "delta": 0.0135,
          "percent_delta": 0.0356,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.3444,
          "delta": 0.0624,
          "percent_delta": 0.2213,
          "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.112,
        "after": 0.0,
        "delta": -0.112,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.478,
        "after": 3.0,
        "delta": -0.478,
        "percent_delta": -0.1374,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2641,
        "delta": 0.0021,
        "percent_delta": 0.008,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.403,
        "after": 1.0,
        "delta": 0.597,
        "percent_delta": 1.4814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 0.0,
        "delta": -0.9,
        "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.353,
        "after": 0.3444,
        "delta": -0.0086,
        "percent_delta": -0.0244,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.515,
        "after": 0.0,
        "delta": -0.515,
        "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.379,
        "after": 0.3945,
        "delta": 0.0155,
        "percent_delta": 0.0409,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.157,
        "after": 1.0,
        "delta": -0.157,
        "percent_delta": -0.1357,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.403,
        "after": 1.0,
        "delta": 0.597,
        "percent_delta": 1.4814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 0.0,
        "delta": -0.9,
        "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.112-
predicted_3B0.022-
predicted_AB3.478-
predicted_AVG0.262-
predicted_BB0.403-
predicted_H0.900-
predicted_HR0.110-
predicted_OBP0.353-
predicted_R0.515-
predicted_RBI0.310-
predicted_SLG0.379-
predicted_SO1.157-
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.095-0.017
predicted_3B0.018-0.004
predicted_AB3.473-0.005
predicted_AVG0.2680.006
predicted_BB0.4250.022
predicted_H0.9230.023
predicted_HBP0.006-
predicted_HR0.108-0.002
predicted_OBP0.3550.002
predicted_R0.5290.014
predicted_RBI0.295-0.015
predicted_SLG0.3860.007
predicted_SO1.099-0.058
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.0950.000
predicted_3B0.0180.000
predicted_AB3.4730.000
predicted_AVG0.264-0.004
predicted_BB0.4250.001
predicted_H0.917-0.006
predicted_HBP0.0060.000
predicted_HR0.107-0.001
predicted_OBP0.344-0.011
predicted_R0.524-0.005
predicted_RBI0.292-0.003
predicted_SLG0.3950.008
predicted_SO1.098-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.48), rates preserved: AVG=0.244 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=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
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.1530.153
3B0.0130.013
BB0.2790.279
H0.728-0.272
HR0.1260.126
RBI0.3780.378
SO1.1500.150
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.013
AB3.0000.000
BB0.000-0.279
H1.0000.272
HR0.000-0.126
R1.0000.000
RBI0.000-0.378
SO1.000-0.150
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.095
predicted_3B0.000-0.018
predicted_AB3.000-0.473
predicted_AVG0.216-0.048
predicted_BB0.000-0.425
predicted_H1.0000.083
predicted_HR0.000-0.107
predicted_OBP0.282-0.062
predicted_R1.0000.476
predicted_RBI0.000-0.292
predicted_SLG0.381-0.014
predicted_SO1.000-0.098
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
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: 134
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.0006.0000.0000.0000.0000.0003.0003.0004.0000.35290.45000.35290.35290.00000.00000.17650.2353
last_100.2010-34.00011.0000.0000.0001.0001.0006.0005.0009.0000.32350.41030.41180.32350.02940.02940.14710.2647
season0.60134-466.000110.00015.0003.00019.00055.00069.00054.000155.0000.23610.31430.40340.23610.04080.11800.11590.3326
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0720
predicted_3B0.0130
predicted_AB3.4660
predicted_AVG0.2754
predicted_BB0.4530
predicted_H0.9540
predicted_HBP0.0060
predicted_HR0.1060
predicted_OBP0.3577
predicted_R0.5470
predicted_RBI0.2750
predicted_SLG0.3957
predicted_SO1.0240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11200.07200.0946model_form_blend
predicted_3B0.02200.01300.0181model_form_blend
predicted_AB3.47803.46603.4728model_form_blend
predicted_AVG0.26200.27540.2678model_form_blend
predicted_BB0.40300.45300.4247model_form_blend
predicted_H0.90000.95400.9234model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.11000.10600.1083model_form_blend
predicted_OBP0.35300.35770.3550model_form_blend
predicted_R0.51500.54700.5289model_form_blend
predicted_RBI0.31000.27500.2948model_form_blend
predicted_SLG0.37900.39570.3863model_form_blend
predicted_SO1.15701.02401.0993model_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 date525
Season rows before report date525
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
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_SB2
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed2B
gameID20260930_BOS@NYY
game_typefull
mlbID665862
playerID665862
playerNameJazz Chisholm Jr.
pos2B
startedTrue
startingPosition2B
teamNYY
teamID19
game_date2026-09-30
sl_k_percent29.5
sl_bb_percent10.5
sl_woba0.312
sl_xwoba0.294
sl_xba0.216
sl_xslg0.366
sl_sweet_spot_percent29.9
sl_barrel_batted_rate8.2
sl_hard_hit_percent42.8
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.3
sl_whiff_percent30.9
sl_swing_percent45.8
Trent Grisham (663757) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 490
All-history rows before 20261003: 490
System season_avg: 0.2140
Data season_avg (2026 season-to-date): 0.2096
Diff (system - data): 0.0044
System opponent_avg: 0.3750

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1641.0000.000Hitting_2B0.1690.0000.8311.000
predicted_3B0.0170.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB3.5523.0003.000Hitting_AB3.7593.000-0.7590.000
predicted_AVG0.2500.6670.333Hitting_AVG0.2100.6670.4570.000
predicted_BB0.5001.0000.000Hitting_BB0.5431.0000.4570.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.8802.0001.000Hitting_H0.7882.0001.2120.000
predicted_HR0.1001.0000.000Hitting_HR0.1570.0000.8431.000
predicted_OBP0.3200.7500.333Hitting_OBP0.3060.7500.4440.000
predicted_R0.5691.0000.000Hitting_R0.6001.0000.4000.000
predicted_RBI0.4602.0000.000Hitting_RBI0.5310.0001.4692.000
predicted_SLG0.3672.0000.333Hitting_SLG0.3910.6671.6091.333
predicted_SO0.7590.0001.000Hitting_SO0.7860.000-0.7860.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_RBI: 0.4600 -> 2.0000 (boost 1.5400, better)
Biggest Deboostpredicted_SO: 0.7590 -> 0.0000 (deboost -0.7590, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60606-predicted_H: 0.8800 -> 0.8155 (deboost -0.0645, 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_OBP: 0.3093 -> 0.3213 (boost 0.0120, 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.7774 -> 1.0000 (boost 0.2226, worse)predicted_AB: 3.4927 -> 3.0000 (deboost -0.4927, worse)AB rounded to 3 (raw=3.55), rates preserved: AVG=0.211 HR/AB=0.026
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)
7consistency_constraints11010predicted_R: 0.5071 -> 1.0000 (boost 0.4929, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4648 (boost 0.4648, better)predicted_SO: 1.0000 -> 0.7731 (deboost -0.2269, 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_allocation72516predicted_SO: 0.7731 -> 1.0000 (boost 0.2269, worse)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3213 -> 0.3000 (deboost -0.0213, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final21111predicted_OBP: 0.3000 -> 0.3213 (boost 0.0213, better)predicted_SLG: 0.4070 -> 0.3591 (deboost -0.0479, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663757",
  "player_name": "Trent Grisham",
  "position": "CF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.017,
        "predicted_AB": 3.552,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.5,
        "predicted_H": 0.88,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.32,
        "predicted_R": 0.569,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.759
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1354,
        "predicted_3B": 0.014,
        "predicted_AB": 3.4927,
        "predicted_AVG": 0.2344,
        "predicted_BB": 0.4593,
        "predicted_H": 0.8155,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0944,
        "predicted_OBP": 0.3093,
        "predicted_R": 0.5119,
        "predicted_RBI": 0.4518,
        "predicted_SLG": 0.3487,
        "predicted_SO": 0.7785
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1354,
          "delta": -0.0286,
          "percent_delta": -0.1744,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.014,
          "delta": -0.003,
          "percent_delta": -0.1765,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.552,
          "after": 3.4927,
          "delta": -0.0593,
          "percent_delta": -0.0167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2344,
          "delta": -0.0156,
          "percent_delta": -0.0624,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.4593,
          "delta": -0.0407,
          "percent_delta": -0.0814,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8155,
          "delta": -0.0645,
          "percent_delta": -0.0733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0944,
          "delta": -0.0056,
          "percent_delta": -0.056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.3093,
          "delta": -0.0107,
          "percent_delta": -0.0334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.569,
          "after": 0.5119,
          "delta": -0.0571,
          "percent_delta": -0.1004,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.4518,
          "delta": -0.0082,
          "percent_delta": -0.0178,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3487,
          "delta": -0.0183,
          "percent_delta": -0.0499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.759,
          "after": 0.7785,
          "delta": 0.0195,
          "percent_delta": 0.0257,
          "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.88,
          "after": 0.8155,
          "delta": -0.0645,
          "percent_delta": -0.0733,
          "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": 116
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1354,
        "predicted_3B": 0.014,
        "predicted_AB": 3.4927,
        "predicted_AVG": 0.2319,
        "predicted_BB": 0.4599,
        "predicted_H": 0.81,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0936,
        "predicted_OBP": 0.3213,
        "predicted_R": 0.5071,
        "predicted_RBI": 0.4476,
        "predicted_SLG": 0.3591,
        "predicted_SO": 0.7774
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1354,
          "after": 0.1354,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4927,
          "after": 3.4927,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2344,
          "after": 0.2319,
          "delta": -0.0025,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4593,
          "after": 0.4599,
          "delta": 0.0006,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8155,
          "after": 0.81,
          "delta": -0.0055,
          "percent_delta": -0.0067,
          "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.0944,
          "after": 0.0936,
          "delta": -0.0008,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3093,
          "after": 0.3213,
          "delta": 0.012,
          "percent_delta": 0.0388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5119,
          "after": 0.5071,
          "delta": -0.0048,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4518,
          "after": 0.4476,
          "delta": -0.0042,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3487,
          "after": 0.3591,
          "delta": 0.0104,
          "percent_delta": 0.0298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7785,
          "after": 0.7774,
          "delta": -0.0011,
          "percent_delta": -0.0014,
          "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.3093,
          "after": 0.3213,
          "delta": 0.012,
          "percent_delta": 0.0388,
          "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.55), rates preserved: AVG=0.211 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1354,
          "after": 0.0,
          "delta": -0.1354,
          "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.4927,
          "after": 3.0,
          "delta": -0.4927,
          "percent_delta": -0.1411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4599,
          "after": 0.0,
          "delta": -0.4599,
          "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_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.0936,
          "after": 0.0,
          "delta": -0.0936,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4476,
          "after": 0.0,
          "delta": -0.4476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7774,
          "after": 1.0,
          "delta": 0.2226,
          "percent_delta": 0.2863,
          "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.7774,
          "after": 1.0,
          "delta": 0.2226,
          "percent_delta": 0.2863,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4927,
          "after": 3.0,
          "delta": -0.4927,
          "percent_delta": -0.1411,
          "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.375)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 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.5071,
          "after": 1.0,
          "delta": 0.4929,
          "percent_delta": 0.972,
          "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.5071,
          "after": 1.0,
          "delta": 0.4929,
          "percent_delta": 0.972,
          "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.1513,
        "predicted_3B": 0.0115,
        "predicted_BB": 0.3268,
        "predicted_H": 0.7787,
        "predicted_HR": 0.1476,
        "predicted_RBI": 0.4648,
        "predicted_SO": 0.7731
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1513,
          "delta": 0.1513,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0115,
          "delta": 0.0115,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3268,
          "delta": 0.3268,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7787,
          "delta": -0.2213,
          "percent_delta": -0.2213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1476,
          "delta": 0.1476,
          "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.7731,
          "delta": -0.2269,
          "percent_delta": -0.2269,
          "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_SO",
          "before": 1.0,
          "after": 0.7731,
          "delta": -0.2269,
          "percent_delta": -0.2269,
          "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": 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.1513,
          "after": 0.0,
          "delta": -0.1513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0115,
          "after": 0.0,
          "delta": -0.0115,
          "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.3268,
          "after": 0.0,
          "delta": -0.3268,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7787,
          "after": 1.0,
          "delta": 0.2213,
          "percent_delta": 0.2842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1476,
          "after": 0.0,
          "delta": -0.1476,
          "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.4648,
          "after": 0.0,
          "delta": -0.4648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7731,
          "after": 1.0,
          "delta": 0.2269,
          "percent_delta": 0.2935,
          "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.7731,
          "after": 1.0,
          "delta": 0.2269,
          "percent_delta": 0.2935,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "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": 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.2319,
          "after": 0.227,
          "delta": -0.0049,
          "percent_delta": -0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3213,
          "after": 0.3,
          "delta": -0.0213,
          "percent_delta": -0.0663,
          "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.3591,
          "after": 0.407,
          "delta": 0.0479,
          "percent_delta": 0.1334,
          "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_R",
          "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.3213,
          "after": 0.3,
          "delta": -0.0213,
          "percent_delta": -0.0663,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 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": 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": 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": 3.0,
        "predicted_AVG": 0.2319,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3213,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3591,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2319,
          "delta": 0.0049,
          "percent_delta": 0.0217,
          "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.3,
          "after": 0.3213,
          "delta": 0.0213,
          "percent_delta": 0.071,
          "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.407,
          "after": 0.3591,
          "delta": -0.0479,
          "percent_delta": -0.1177,
          "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_OBP",
          "before": 0.3,
          "after": 0.3213,
          "delta": 0.0213,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.3591,
          "delta": -0.0479,
          "percent_delta": -0.1177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 1.0,
        "delta": 0.836,
        "percent_delta": 5.0976,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.552,
        "after": 3.0,
        "delta": -0.552,
        "percent_delta": -0.1554,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2319,
        "delta": -0.0181,
        "percent_delta": -0.0724,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 2.0,
        "delta": 1.12,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.32,
        "after": 0.3213,
        "delta": 0.0013,
        "percent_delta": 0.0041,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.569,
        "after": 1.0,
        "delta": 0.431,
        "percent_delta": 0.7575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.367,
        "after": 0.3591,
        "delta": -0.0079,
        "percent_delta": -0.0215,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.759,
        "after": 0.0,
        "delta": -0.759,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 2.0,
        "delta": 1.54,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.759,
        "after": 0.0,
        "delta": -0.759,
        "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.017-
predicted_AB3.552-
predicted_AVG0.250-
predicted_BB0.500-
predicted_H0.880-
predicted_HR0.100-
predicted_OBP0.320-
predicted_R0.569-
predicted_RBI0.460-
predicted_SLG0.367-
predicted_SO0.759-
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.135-0.029
predicted_3B0.014-0.003
predicted_AB3.493-0.059
predicted_AVG0.234-0.016
predicted_BB0.459-0.041
predicted_H0.816-0.065
predicted_HBP0.002-
predicted_HR0.094-0.006
predicted_OBP0.309-0.011
predicted_R0.512-0.057
predicted_RBI0.452-0.008
predicted_SLG0.349-0.018
predicted_SO0.7780.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.1350.000
predicted_3B0.0140.000
predicted_AB3.4930.000
predicted_AVG0.232-0.003
predicted_BB0.4600.001
predicted_H0.810-0.005
predicted_HBP0.0020.000
predicted_HR0.094-0.001
predicted_OBP0.3210.012
predicted_R0.507-0.005
predicted_RBI0.448-0.004
predicted_SLG0.3590.010
predicted_SO0.777-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.55), rates preserved: AVG=0.211 HR/AB=0.026

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=16.0, weight=0.139, BvP AVG=0.375)

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
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.1510.151
3B0.0110.011
BB0.3270.327
H0.779-0.221
HR0.1480.148
RBI0.4650.465
SO0.773-0.227
9. 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.011
AB3.0000.000
BB0.000-0.327
H1.0000.221
HR0.000-0.148
R0.000-1.000
RBI0.000-0.465
SO1.0000.227
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.135
predicted_3B0.000-0.014
predicted_AB3.000-0.493
predicted_AVG0.227-0.005
predicted_BB0.000-0.460
predicted_H1.0000.190
predicted_HR0.000-0.094
predicted_OBP0.300-0.021
predicted_R1.0000.493
predicted_RBI0.000-0.448
predicted_SLG0.4070.048
predicted_SO1.0000.223
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB1.0001.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: 116
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.0000.0000.0000.0002.0001.0001.0004.0000.26670.31250.26670.26670.00000.13330.06670.2667
last_100.2010-33.0005.0000.0000.0000.0003.0003.0004.0009.0000.15150.23680.15150.15150.00000.09090.12120.2727
season0.60116-412.00088.00019.0002.00017.00058.00066.00058.00088.0000.21360.30800.39320.21360.04130.14080.14080.2136
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0980
predicted_3B0.0100
predicted_AB3.4150
predicted_AVG0.2140
predicted_BB0.4060
predicted_H0.7310
predicted_HBP0.0020
predicted_HR0.0870
predicted_OBP0.2953
predicted_R0.4370
predicted_RBI0.4410
predicted_SLG0.3248
predicted_SO0.8040
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.09800.1354model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB3.55203.41503.4927model_form_blend
predicted_AVG0.25000.21400.2344model_form_blend
predicted_BB0.50000.40600.4593model_form_blend
predicted_H0.88000.73100.8155model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.10000.08700.0944model_form_blend
predicted_OBP0.32000.29530.3093model_form_blend
predicted_R0.56900.43700.5119model_form_blend
predicted_RBI0.46000.44100.4518model_form_blend
predicted_SLG0.36700.32480.3487model_form_blend
predicted_SO0.75900.80400.7785model_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 date490
Season rows before report date490
Report year2026
Profile rows used116
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
RBI2
BB1
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_2B0
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_SO0
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
allPositionsPlayedCF
gameID20260930_BOS@NYY
game_typefull
mlbID663757
playerID663757
playerNameTrent Grisham
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-09-30
sl_k_percent18.4
sl_bb_percent12.6
sl_woba0.311
sl_xwoba0.337
sl_xba0.245
sl_xslg0.429
sl_sweet_spot_percent35.7
sl_barrel_batted_rate9.6
sl_hard_hit_percent45.3
sl_exit_velocity_avg90.6
sl_launch_angle_avg17.5
sl_whiff_percent18.2
sl_swing_percent39.1
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 376
All-history rows before 20261003: 376
System season_avg: 0.1920
Data season_avg (2026 season-to-date): 0.1926
Diff (system - data): -0.0006
System opponent_avg: 0.1380

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0580.0000.000Hitting_2B0.0640.000-0.0640.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8024.0003.000Hitting_AB3.0113.0000.9891.000
predicted_AVG0.2260.0000.000Hitting_AVG0.1930.333-0.193-0.333
predicted_BB0.3880.0000.000Hitting_BB0.4390.000-0.4390.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5400.0000.000Hitting_H0.5801.000-0.580-1.000
predicted_HR0.1200.0000.000Hitting_HR0.1280.000-0.1280.000
predicted_OBP0.3390.0000.000Hitting_OBP0.2990.250-0.299-0.250
predicted_R0.3390.0000.000Hitting_R0.3721.000-0.372-1.000
predicted_RBI0.5000.0000.000Hitting_RBI0.3112.000-0.311-2.000
predicted_SLG0.4350.0000.000Hitting_SLG0.3410.333-0.341-0.333
predicted_SO0.8431.0001.000Hitting_SO0.9100.0000.0901.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.8020 -> 4.0000 (boost 1.1980, better)
Biggest Deboostpredicted_H: 0.5400 -> 0.0000 (deboost -0.5400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65160predicted_R: 0.3390 -> 0.4347 (boost 0.0957, better)predicted_SO: 0.8430 -> 0.7863 (deboost -0.0567, 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.4408 -> 0.3846 (deboost -0.0562, 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.5118 -> 1.0000 (boost 0.4882, better)predicted_BB: 0.4513 -> 0.0000 (deboost -0.4513, worse)AB rounded to 3 (raw=2.80), rates preserved: AVG=0.199 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.4306 -> 0.0000 (deboost -0.4306, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2712 (boost 0.2712, better)predicted_RBI: 1.0000 -> 0.3180 (deboost -0.6820, 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.8419 -> 1.0000 (boost 0.1581, worse)predicted_H: 0.5894 -> 0.0000 (deboost -0.5894, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context52323predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3242 -> 0.2750 (deboost -0.0492, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final33030predicted_OBP: 0.2750 -> 0.3242 (boost 0.0492, better)-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.058,
        "predicted_3B": 0.0,
        "predicted_AB": 2.802,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.388,
        "predicted_H": 0.54,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.339,
        "predicted_R": 0.339,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.435,
        "predicted_SO": 0.843
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0507,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7921,
        "predicted_AVG": 0.2356,
        "predicted_BB": 0.4507,
        "predicted_H": 0.6044,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1419,
        "predicted_OBP": 0.3437,
        "predicted_R": 0.4347,
        "predicted_RBI": 0.5167,
        "predicted_SLG": 0.4408,
        "predicted_SO": 0.7863
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.058,
          "after": 0.0507,
          "delta": -0.0073,
          "percent_delta": -0.1259,
          "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.802,
          "after": 2.7921,
          "delta": -0.0099,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2356,
          "delta": 0.0096,
          "percent_delta": 0.0425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.388,
          "after": 0.4507,
          "delta": 0.0627,
          "percent_delta": 0.1616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.54,
          "after": 0.6044,
          "delta": 0.0644,
          "percent_delta": 0.1193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1419,
          "delta": 0.0219,
          "percent_delta": 0.1825,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3437,
          "delta": 0.0047,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.339,
          "after": 0.4347,
          "delta": 0.0957,
          "percent_delta": 0.2823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.5167,
          "delta": 0.0167,
          "percent_delta": 0.0334,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.4408,
          "delta": 0.0058,
          "percent_delta": 0.0133,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.843,
          "after": 0.7863,
          "delta": -0.0567,
          "percent_delta": -0.0673,
          "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_R",
          "before": 0.339,
          "after": 0.4347,
          "delta": 0.0957,
          "percent_delta": 0.2823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.843,
          "after": 0.7863,
          "delta": -0.0567,
          "percent_delta": -0.0673,
          "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": 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.0507,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7921,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.4513,
        "predicted_H": 0.6004,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1407,
        "predicted_OBP": 0.3242,
        "predicted_R": 0.4306,
        "predicted_RBI": 0.5118,
        "predicted_SLG": 0.3846,
        "predicted_SO": 0.7852
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0507,
          "after": 0.0507,
          "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.7921,
          "after": 2.7921,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2356,
          "after": 0.215,
          "delta": -0.0206,
          "percent_delta": -0.0874,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4507,
          "after": 0.4513,
          "delta": 0.0006,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6044,
          "after": 0.6004,
          "delta": -0.004,
          "percent_delta": -0.0066,
          "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.1419,
          "after": 0.1407,
          "delta": -0.0012,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3437,
          "after": 0.3242,
          "delta": -0.0195,
          "percent_delta": -0.0567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4347,
          "after": 0.4306,
          "delta": -0.0041,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5167,
          "after": 0.5118,
          "delta": -0.0049,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4408,
          "after": 0.3846,
          "delta": -0.0562,
          "percent_delta": -0.1275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7863,
          "after": 0.7852,
          "delta": -0.0011,
          "percent_delta": -0.0014,
          "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.4408,
          "after": 0.3846,
          "delta": -0.0562,
          "percent_delta": -0.1275,
          "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.199 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.0507,
          "after": 0.0,
          "delta": -0.0507,
          "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.7921,
          "after": 3.0,
          "delta": 0.2079,
          "percent_delta": 0.0745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4513,
          "after": 0.0,
          "delta": -0.4513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6004,
          "after": 1.0,
          "delta": 0.3996,
          "percent_delta": 0.6656,
          "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.1407,
          "after": 0.0,
          "delta": -0.1407,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5118,
          "after": 1.0,
          "delta": 0.4882,
          "percent_delta": 0.9539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7852,
          "after": 1.0,
          "delta": 0.2148,
          "percent_delta": 0.2736,
          "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.5118,
          "after": 1.0,
          "delta": 0.4882,
          "percent_delta": 0.9539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4513,
          "after": 0.0,
          "delta": -0.4513,
          "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": 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.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": 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.4306,
          "after": 0.0,
          "delta": -0.4306,
          "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.4306,
          "after": 0.0,
          "delta": -0.4306,
          "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.1126,
        "predicted_3B": 0.0067,
        "predicted_BB": 0.2712,
        "predicted_H": 0.5894,
        "predicted_HR": 0.1312,
        "predicted_RBI": 0.318,
        "predicted_SO": 0.8419
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1126,
          "delta": 0.1126,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0067,
          "delta": 0.0067,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2712,
          "delta": 0.2712,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.5894,
          "delta": -0.4106,
          "percent_delta": -0.4106,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1312,
          "delta": 0.1312,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.318,
          "delta": -0.682,
          "percent_delta": -0.682,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8419,
          "delta": -0.1581,
          "percent_delta": -0.1581,
          "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.2712,
          "delta": 0.2712,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.318,
          "delta": -0.682,
          "percent_delta": -0.682,
          "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.1126,
          "after": 0.0,
          "delta": -0.1126,
          "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": 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.2712,
          "after": 0.0,
          "delta": -0.2712,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5894,
          "after": 0.0,
          "delta": -0.5894,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1312,
          "after": 0.0,
          "delta": -0.1312,
          "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.318,
          "after": 0.0,
          "delta": -0.318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8419,
          "after": 1.0,
          "delta": 0.1581,
          "percent_delta": 0.1878,
          "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.8419,
          "after": 1.0,
          "delta": 0.1581,
          "percent_delta": 0.1878,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5894,
          "after": 0.0,
          "delta": -0.5894,
          "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.201,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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.215,
          "after": 0.201,
          "delta": -0.014,
          "percent_delta": -0.0651,
          "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.3242,
          "after": 0.275,
          "delta": -0.0492,
          "percent_delta": -0.1518,
          "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.3846,
          "after": 0.378,
          "delta": -0.0066,
          "percent_delta": -0.0172,
          "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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "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.3242,
          "after": 0.275,
          "delta": -0.0492,
          "percent_delta": -0.1518,
          "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": 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": 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.215,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3242,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3846,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.215,
          "delta": 0.014,
          "percent_delta": 0.0697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.275,
          "after": 0.3242,
          "delta": 0.0492,
          "percent_delta": 0.1791,
          "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.378,
          "after": 0.3846,
          "delta": 0.0066,
          "percent_delta": 0.0176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.3242,
          "delta": 0.0492,
          "percent_delta": 0.1791,
          "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.058,
        "after": 0.0,
        "delta": -0.058,
        "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.802,
        "after": 4.0,
        "delta": 1.198,
        "percent_delta": 0.4276,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.215,
        "delta": -0.011,
        "percent_delta": -0.0487,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.388,
        "after": 0.0,
        "delta": -0.388,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.3242,
        "delta": -0.0148,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.339,
        "after": 0.0,
        "delta": -0.339,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.435,
        "after": 0.3846,
        "delta": -0.0504,
        "percent_delta": -0.1159,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.843,
        "after": 1.0,
        "delta": 0.157,
        "percent_delta": 0.1862,
        "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.802,
        "after": 4.0,
        "delta": 1.198,
        "percent_delta": 0.4276,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.058-
predicted_3B0.000-
predicted_AB2.802-
predicted_AVG0.226-
predicted_BB0.388-
predicted_H0.540-
predicted_HR0.120-
predicted_OBP0.339-
predicted_R0.339-
predicted_RBI0.500-
predicted_SLG0.435-
predicted_SO0.843-
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.051-0.007
predicted_3B0.0000.000
predicted_AB2.792-0.010
predicted_AVG0.2360.010
predicted_BB0.4510.063
predicted_H0.6040.064
predicted_HBP0.015-
predicted_HR0.1420.022
predicted_OBP0.3440.005
predicted_R0.4350.096
predicted_RBI0.5170.017
predicted_SLG0.4410.006
predicted_SO0.786-0.057
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.0510.000
predicted_3B0.0000.000
predicted_AB2.7920.000
predicted_AVG0.215-0.021
predicted_BB0.4510.001
predicted_H0.600-0.004
predicted_HBP0.0150.000
predicted_HR0.141-0.001
predicted_OBP0.324-0.020
predicted_R0.431-0.004
predicted_RBI0.512-0.005
predicted_SLG0.385-0.056
predicted_SO0.785-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=2.80), rates preserved: AVG=0.199 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=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
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.1130.113
3B0.0070.007
BB0.2710.271
H0.589-0.411
HR0.1310.131
RBI0.318-0.682
SO0.842-0.158
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.113
3B0.000-0.007
AB3.0000.000
BB0.000-0.271
H0.000-0.589
HR0.000-0.131
R0.0000.000
RBI0.000-0.318
SO1.0000.158
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.051
predicted_3B0.000-0.000
predicted_AB3.0000.208
predicted_AVG0.201-0.014
predicted_BB0.000-0.451
predicted_H1.0000.400
predicted_HR0.000-0.141
predicted_OBP0.275-0.049
predicted_R0.000-0.431
predicted_RBI1.0000.488
predicted_SLG0.378-0.007
predicted_SO1.0000.215
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
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-12.0004.0000.0000.0001.0005.0005.0004.0002.0000.33330.44440.58330.33330.08330.41670.33330.1667
last_100.2010-27.0009.0000.0000.0003.0007.0007.0007.0006.0000.33330.44440.66670.33330.11110.25930.25930.2222
season0.60121-339.00065.0007.0000.00014.00036.00041.00047.000102.0000.19170.29260.33630.19170.04130.10620.13860.3009
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0410
predicted_3B0.0010
predicted_AB2.7790
predicted_AVG0.2483
predicted_BB0.5340
predicted_H0.6900
predicted_HBP0.0150
predicted_HR0.1710
predicted_OBP0.3499
predicted_R0.5620
predicted_RBI0.5390
predicted_SLG0.4486
predicted_SO0.7110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.05800.04100.0507model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.80202.77902.7921model_form_blend
predicted_AVG0.22600.24830.2356model_form_blend
predicted_BB0.38800.53400.4507model_form_blend
predicted_H0.54000.69000.6044model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.12000.17100.1419model_form_blend
predicted_OBP0.33900.34990.3437model_form_blend
predicted_R0.33900.56200.4347model_form_blend
predicted_RBI0.50000.53900.5167model_form_blend
predicted_SLG0.43500.44860.4408model_form_blend
predicted_SO0.84300.71100.7863model_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 date376
Season rows before report date376
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
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_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF1
Hitting_SO0
Hitting_TB1
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
gameID20260930_BOS@NYY
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-09-30
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
Ryan McMahon (641857) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 363
All-history rows before 20261003: 363
System season_avg: 0.2150
Data season_avg (2026 season-to-date): 0.2135
Diff (system - data): 0.0015
System opponent_avg: 0.1000

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.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8763.0003.000Hitting_AB3.1353.000-0.1350.000
predicted_AVG0.2510.0000.000Hitting_AVG0.2140.333-0.214-0.333
predicted_BB0.2480.0000.000Hitting_BB0.2870.000-0.2870.000
predicted_CS-0.0000.000BaseRunning_CS0.0190.000-0.0190.000
predicted_H0.6100.0000.000Hitting_H0.6691.000-0.669-1.000
predicted_HR0.1000.0000.000Hitting_HR0.0960.000-0.0960.000
predicted_OBP0.3020.0000.000Hitting_OBP0.2810.333-0.281-0.333
predicted_R0.2740.0000.000Hitting_R0.3090.000-0.3090.000
predicted_RBI0.5100.0000.000Hitting_RBI0.3661.000-0.366-1.000
predicted_SLG0.3920.0000.000Hitting_SLG0.3490.333-0.349-0.333
predicted_SO0.9380.0001.000Hitting_SO0.9971.000-0.997-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_AB: 2.8760 -> 3.0000 (boost 0.1240, better)
Biggest Deboostpredicted_SO: 0.9380 -> 0.0000 (deboost -0.9380, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_RBI: 0.5100 -> 0.5741 (boost 0.0641, 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_AVG: 0.2474 -> 0.2238 (deboost -0.0236, 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.5687 -> 1.0000 (boost 0.4313, better)predicted_BB: 0.2415 -> 0.0000 (deboost -0.2415, worse)AB rounded to 3 (raw=2.90), rates preserved: AVG=0.207 HR/AB=0.037
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
7consistency_constraints10101-predicted_R: 0.3066 -> 0.0000 (deboost -0.3066, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2057 (boost 0.2057, better)predicted_RBI: 1.0000 -> 0.4009 (deboost -0.5991, 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.6515 -> 0.0000 (deboost -0.6515, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context52323predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.2834 -> 0.2680 (deboost -0.0154, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference30312-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_OBP: 0.2680 -> 0.2834 (boost 0.0154, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641857",
  "player_name": "Ryan McMahon",
  "position": "3B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.115,
        "predicted_3B": 0.0,
        "predicted_AB": 2.876,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.248,
        "predicted_H": 0.61,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.302,
        "predicted_R": 0.274,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.938
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1227,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9029,
        "predicted_AVG": 0.2474,
        "predicted_BB": 0.2412,
        "predicted_H": 0.654,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1085,
        "predicted_OBP": 0.3009,
        "predicted_R": 0.3095,
        "predicted_RBI": 0.5741,
        "predicted_SLG": 0.4003,
        "predicted_SO": 0.9483
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.115,
          "after": 0.1227,
          "delta": 0.0077,
          "percent_delta": 0.067,
          "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.876,
          "after": 2.9029,
          "delta": 0.0269,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2474,
          "delta": -0.0036,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.248,
          "after": 0.2412,
          "delta": -0.0068,
          "percent_delta": -0.0274,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.61,
          "after": 0.654,
          "delta": 0.044,
          "percent_delta": 0.0721,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1085,
          "delta": 0.0085,
          "percent_delta": 0.085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.3009,
          "delta": -0.0011,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.274,
          "after": 0.3095,
          "delta": 0.0355,
          "percent_delta": 0.1296,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.5741,
          "delta": 0.0641,
          "percent_delta": 0.1257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.4003,
          "delta": 0.0083,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.938,
          "after": 0.9483,
          "delta": 0.0103,
          "percent_delta": 0.011,
          "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_RBI",
          "before": 0.51,
          "after": 0.5741,
          "delta": 0.0641,
          "percent_delta": 0.1257,
          "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": 113
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1227,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9029,
        "predicted_AVG": 0.2238,
        "predicted_BB": 0.2415,
        "predicted_H": 0.6496,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1076,
        "predicted_OBP": 0.2834,
        "predicted_R": 0.3066,
        "predicted_RBI": 0.5687,
        "predicted_SLG": 0.3775,
        "predicted_SO": 0.947
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1227,
          "after": 0.1227,
          "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.9029,
          "after": 2.9029,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2474,
          "after": 0.2238,
          "delta": -0.0236,
          "percent_delta": -0.0954,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2412,
          "after": 0.2415,
          "delta": 0.0003,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.654,
          "after": 0.6496,
          "delta": -0.0044,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.007,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1085,
          "after": 0.1076,
          "delta": -0.0009,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3009,
          "after": 0.2834,
          "delta": -0.0175,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3095,
          "after": 0.3066,
          "delta": -0.0029,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5741,
          "after": 0.5687,
          "delta": -0.0054,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4003,
          "after": 0.3775,
          "delta": -0.0228,
          "percent_delta": -0.057,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9483,
          "after": 0.947,
          "delta": -0.0013,
          "percent_delta": -0.0014,
          "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.2474,
          "after": 0.2238,
          "delta": -0.0236,
          "percent_delta": -0.0954,
          "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.90), rates preserved: AVG=0.207 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1227,
          "after": 0.0,
          "delta": -0.1227,
          "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.9029,
          "after": 3.0,
          "delta": 0.0971,
          "percent_delta": 0.0334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2415,
          "after": 0.0,
          "delta": -0.2415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6496,
          "after": 1.0,
          "delta": 0.3504,
          "percent_delta": 0.5394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1076,
          "after": 0.0,
          "delta": -0.1076,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5687,
          "after": 1.0,
          "delta": 0.4313,
          "percent_delta": 0.7584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.947,
          "after": 1.0,
          "delta": 0.053,
          "percent_delta": 0.056,
          "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.5687,
          "after": 1.0,
          "delta": 0.4313,
          "percent_delta": 0.7584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2415,
          "after": 0.0,
          "delta": -0.2415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.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": 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.3066,
          "after": 0.0,
          "delta": -0.3066,
          "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.3066,
          "after": 0.0,
          "delta": -0.3066,
          "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.1549,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.2057,
        "predicted_H": 0.6515,
        "predicted_HR": 0.1053,
        "predicted_RBI": 0.4009,
        "predicted_SO": 1.1034
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1549,
          "delta": 0.1549,
          "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.2057,
          "delta": 0.2057,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6515,
          "delta": -0.3485,
          "percent_delta": -0.3485,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1053,
          "delta": 0.1053,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4009,
          "delta": -0.5991,
          "percent_delta": -0.5991,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1034,
          "delta": 0.1034,
          "percent_delta": 0.1034,
          "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.2057,
          "delta": 0.2057,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4009,
          "delta": -0.5991,
          "percent_delta": -0.5991,
          "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.1549,
          "after": 0.0,
          "delta": -0.1549,
          "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.2057,
          "after": 0.0,
          "delta": -0.2057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6515,
          "after": 0.0,
          "delta": -0.6515,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1053,
          "after": 0.0,
          "delta": -0.1053,
          "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.4009,
          "after": 0.0,
          "delta": -0.4009,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1034,
          "after": 1.0,
          "delta": -0.1034,
          "percent_delta": -0.0937,
          "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.6515,
          "after": 0.0,
          "delta": -0.6515,
          "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.212,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.268,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.371,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2238,
          "after": 0.212,
          "delta": -0.0118,
          "percent_delta": -0.0527,
          "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.2834,
          "after": 0.268,
          "delta": -0.0154,
          "percent_delta": -0.0543,
          "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.3775,
          "after": 0.371,
          "delta": -0.0065,
          "percent_delta": -0.0172,
          "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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "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.2834,
          "after": 0.268,
          "delta": -0.0154,
          "percent_delta": -0.0543,
          "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": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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_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": 3.0,
        "predicted_AVG": 0.2238,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2834,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3775,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2238,
          "delta": 0.0118,
          "percent_delta": 0.0556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.268,
          "after": 0.2834,
          "delta": 0.0154,
          "percent_delta": 0.0575,
          "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.371,
          "after": 0.3775,
          "delta": 0.0065,
          "percent_delta": 0.0176,
          "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_OBP",
          "before": 0.268,
          "after": 0.2834,
          "delta": 0.0154,
          "percent_delta": 0.0575,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.876,
        "after": 3.0,
        "delta": 0.124,
        "percent_delta": 0.0431,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.2238,
        "delta": -0.0272,
        "percent_delta": -0.1084,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.248,
        "after": 0.0,
        "delta": -0.248,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.302,
        "after": 0.2834,
        "delta": -0.0186,
        "percent_delta": -0.0616,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.274,
        "after": 0.0,
        "delta": -0.274,
        "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.392,
        "after": 0.3775,
        "delta": -0.0145,
        "percent_delta": -0.037,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.938,
        "after": 0.0,
        "delta": -0.938,
        "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.876,
        "after": 3.0,
        "delta": 0.124,
        "percent_delta": 0.0431,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.938,
        "after": 0.0,
        "delta": -0.938,
        "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.115-
predicted_3B0.000-
predicted_AB2.876-
predicted_AVG0.251-
predicted_BB0.248-
predicted_H0.610-
predicted_HR0.100-
predicted_OBP0.302-
predicted_R0.274-
predicted_RBI0.510-
predicted_SLG0.392-
predicted_SO0.938-
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.1230.008
predicted_3B0.0000.000
predicted_AB2.9030.027
predicted_AVG0.247-0.004
predicted_BB0.241-0.007
predicted_H0.6540.044
predicted_HBP0.007-
predicted_HR0.1080.008
predicted_OBP0.301-0.001
predicted_R0.3090.035
predicted_RBI0.5740.064
predicted_SLG0.4000.008
predicted_SO0.9480.010
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.1230.000
predicted_3B0.0000.000
predicted_AB2.9030.000
predicted_AVG0.224-0.024
predicted_BB0.2410.000
predicted_H0.650-0.004
predicted_HBP0.0070.000
predicted_HR0.108-0.001
predicted_OBP0.283-0.018
predicted_R0.307-0.003
predicted_RBI0.569-0.005
predicted_SLG0.378-0.023
predicted_SO0.947-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=2.90), rates preserved: AVG=0.207 HR/AB=0.037

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=10.0, weight=0.100, BvP AVG=0.100)

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.1550.155
3B0.0070.007
BB0.2060.206
H0.651-0.349
HR0.1050.105
RBI0.401-0.599
SO1.1030.103
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.007
AB3.0000.000
BB0.000-0.206
H0.000-0.651
HR0.000-0.105
R0.0000.000
RBI0.000-0.401
SO1.000-0.103
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.123
predicted_3B0.000-0.000
predicted_AB3.0000.097
predicted_AVG0.212-0.012
predicted_BB0.000-0.241
predicted_H1.0000.350
predicted_HR0.000-0.108
predicted_OBP0.268-0.015
predicted_R0.000-0.307
predicted_RBI1.0000.431
predicted_SLG0.371-0.007
predicted_SO1.0000.053
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
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: 113
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.0005.0001.0000.0001.0007.0003.0001.0005.0000.35710.40000.64290.35710.07140.50000.07140.3571
last_100.2010-29.0006.0001.0000.0001.0008.0003.0002.00010.0000.20690.25810.34480.20690.03450.27590.06900.3448
season0.60113-325.00070.00013.0000.00011.00042.00031.00028.000106.0000.21540.27890.35690.21540.03380.12920.08620.3261
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0010
predicted_AB2.9390
predicted_AVG0.2425
predicted_BB0.2320
predicted_H0.7130
predicted_HBP0.0070
predicted_HR0.1200
predicted_OBP0.2995
predicted_R0.3570
predicted_RBI0.6600
predicted_SLG0.4114
predicted_SO0.9620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11500.13300.1227model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.87602.93902.9029model_form_blend
predicted_AVG0.25100.24250.2474model_form_blend
predicted_BB0.24800.23200.2412model_form_blend
predicted_H0.61000.71300.6540model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.10000.12000.1085model_form_blend
predicted_OBP0.30200.29950.3009model_form_blend
predicted_R0.27400.35700.3095model_form_blend
predicted_RBI0.51000.66000.5741model_form_blend
predicted_SLG0.39200.41140.4003model_form_blend
predicted_SO0.93800.96200.9483model_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 date363
Season rows before report date363
Report year2026
Profile rows used113
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.333
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_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
allPositionsPlayed3B
gameID20260930_BOS@NYY
game_typefull
mlbID641857
playerID641857
playerNameRyan McMahon
pos3B
startedTrue
startingPosition3B
teamNYY
teamID19
game_date2026-09-30
sl_k_percent29.4
sl_bb_percent7.8
sl_woba0.282
sl_xwoba0.297
sl_xba0.23
sl_xslg0.381
sl_sweet_spot_percent32.1
sl_barrel_batted_rate9.0
sl_hard_hit_percent44.8
sl_exit_velocity_avg90.5
sl_launch_angle_avg14.3
sl_whiff_percent30.2
sl_swing_percent45.5
Gerrit Cole (543037) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 22
All-history rows before 20261003: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.1363.0001.8640.000
predicted_ER3.0003.0003.000Pitching_ER2.3182.0000.6821.000
predicted_H7.0007.0007.000Pitching_H5.2273.0001.7734.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.6455.200-0.4450.000
predicted_SO6.0006.0006.000Pitching_SO5.9558.0000.045-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics1
Deboosted Metrics3
Better Metrics3
Worse Metrics1
Biggest Boostpredicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)
Biggest Deboostpredicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail31221predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)predicted_ER: 4.0000 -> 3.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_final10110-predicted_H: 8.0000 -> 7.0000 (deboost -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": "543037",
  "player_name": "Gerrit Cole",
  "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": 3.0,
        "predicted_ER": 4.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "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": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 7.0,
          "delta": -1.0,
          "percent_delta": -0.125,
          "direction": "deboost",
          "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_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": 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_H",
          "before": 8.0,
          "after": 7.0,
          "delta": -1.0,
          "percent_delta": -0.125,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 8.0,
        "after": 7.0,
        "delta": -1.0,
        "percent_delta": -0.125,
        "direction": "deboost",
        "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_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 1,
      "deboosted_metrics": 3,
      "better_metrics": 3,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

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_ER4.000-
predicted_H8.000-
predicted_HR0.000-
predicted_IP5.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_BB3.0000.000
predicted_ER3.000-1.000
predicted_H8.0000.000
predicted_HR0.0000.000
predicted_IP5.200-0.467
predicted_SO6.0001.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: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.10016.00030.0004.00026.0009.0005.08241.20000.56471.05880.14120.91760.3176
last_100.351059.00024.00055.00011.00058.00011.0003.66101.11860.40680.93220.18640.98300.1864
season0.2022127.00051.000115.00025.000131.00022.0003.61421.10240.40160.90550.19681.03150.1732
Weighted Prediction From Real Data
MetricValue
predicted_BB1.1940
predicted_ER2.7850
predicted_ERA4.3502
predicted_H5.6690
predicted_HR1.2980
predicted_IP5.2000
predicted_SO5.5180
predicted_WHIP1.1912
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.19401.9674model_form_blend
predicted_ER4.00002.78503.3053model_form_blend
predicted_ERA-4.35024.3502form_only
predicted_H8.00005.66906.6672model_form_blend
predicted_HR0.00001.29800.7421model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO5.00005.51805.2962model_form_blend
predicted_WHIP-1.19121.1912form_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
IP5.2
H7
R3
ER3
BB3
SO6
HR0
BF27
Pitches104

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_BB3
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER2
Pitching_ERA3.61
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.2
Pitching_Pitches105
Pitching_R2
Pitching_SO8
Pitching_Strikes63
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260923_TB@NYY
game_typefull
mlbID543037
playerID543037
playerNameGerrit Cole
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-23
sl_k_percent25.2
sl_bb_percent4.8
sl_woba0.302
sl_xwoba0.3
sl_sweet_spot_percent36.2
sl_barrel_batted_rate9.0
sl_hard_hit_percent44.6
sl_whiff_percent21.3
sl_swing_percent49.2
sl_avg_best_speed81.410383164
sl_avg_hyper_speed94.50239887
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 20261003: 82
All-history rows before 20261003: 82

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3290.000-0.3290.000
predicted_ER0.0000.0000.000Pitching_ER0.2320.000-0.2320.000
predicted_H0.0000.0000.000Pitching_H0.8290.000-0.8290.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.7660.1000.4341.100
predicted_SO1.0001.0001.000Pitching_SO1.1950.000-0.1951.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: 0.6667 -> 1.2000 (boost 0.5333, better)
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_final21111predicted_IP: 0.6667 -> 1.2000 (boost 0.5333, better)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": "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": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.2,
          "delta": 0.5333,
          "percent_delta": 0.8,
          "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": "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": 0.6667,
          "after": 1.2,
          "delta": 0.5333,
          "percent_delta": 0.8,
          "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": "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": 1.2,
        "delta": 0.5333,
        "percent_delta": 0.7999,
        "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": "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": 0.6667,
        "after": 1.2,
        "delta": 0.5333,
        "percent_delta": 0.7999,
        "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": "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_H0.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: 82
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.0003.0004.0003.0004.0001.0009.00002.33331.00001.33331.00001.33330.3333
last_100.35107.1004.0006.0006.0009.0001.0004.90911.63640.54540.81820.81821.22730.1364
season0.208278.20019.00068.00027.00098.0005.0002.17371.20760.24150.86440.34321.24580.0636
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5060
predicted_ER0.4650
predicted_ERA5.8273
predicted_H0.7470
predicted_HR0.1400
predicted_IP0.2000
predicted_SO0.8590
predicted_WHIP1.7462
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.50600.2785model_form_blend
predicted_ER0.00000.46500.2559model_form_blend
predicted_ERA-5.82735.8273form_only
predicted_H0.00000.74700.4112model_form_blend
predicted_HR0.00000.14000.0771model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO2.00000.85901.3720model_form_blend
predicted_WHIP-1.74621.7462form_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 date82
Season rows before report date82
Report year2026
Profile rows used82
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.2
H0
R0
ER0
BB0
SO1
HR0
BF5
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_BB0
Pitching_Balk0
Pitching_Batters Faced1
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches3
Pitching_R0
Pitching_SO0
Pitching_Strikes2
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260930_BOS@NYY
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-30
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 20261003: 65
All-history rows before 20261003: 65

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3231.000-0.323-1.000
predicted_ER1.0001.0001.000Pitching_ER0.2920.0000.7081.000
predicted_H1.0001.0001.000Pitching_H0.8000.0000.2001.000
predicted_IP0.2000.2000.200Pitching_InningsPitched1.0141.000-0.814-0.800
predicted_SO0.0000.0000.000Pitching_SO1.1851.000-1.185-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_IP: 0.3333 -> 0.2000 (deboost -0.1333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_run_redistribution32103predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_IP: 0.3333 -> 0.2000 (deboost -0.1333, worse)Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
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": "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.3333,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.2,
          "delta": -0.1333,
          "percent_delta": -0.4,
          "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": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.2,
          "delta": -0.1333,
          "percent_delta": -0.4,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.2,
          "after": 0.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.3333,
        "after": 0.2,
        "delta": -0.1333,
        "percent_delta": -0.3999,
        "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": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.3333,
        "after": 0.2,
        "delta": -0.1333,
        "percent_delta": -0.3999,
        "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_SO0.000-
2. pitcher_quality_run_redistribution

Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER1.0001.000
predicted_H1.0001.000
predicted_HR0.0000.000
predicted_IP0.200-0.133
predicted_SO0.0000.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: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0004.0003.0005.0000.0000.00001.16670.00000.66670.50000.83330.0000
last_100.351011.0001.0009.0003.00012.0001.0000.81821.09090.09090.81820.27271.09090.0909
season0.206570.10019.00052.00021.00077.0004.0002.43131.03790.27010.73930.29861.09480.0569
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3570
predicted_ER0.1840
predicted_ERA1.7568
predicted_H0.7510
predicted_HR0.0660
predicted_IP1.0000
predicted_SO0.9070
predicted_WHIP1.1783
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35700.1934model_form_blend
predicted_ER0.00000.18400.0997model_form_blend
predicted_ERA-1.75681.7568form_only
predicted_H0.00000.75100.4068model_form_blend
predicted_HR0.00000.06600.0357model_form_blend
predicted_IP0.10001.00000.2000model_form_blend
predicted_SO0.00000.90700.4913model_form_blend
predicted_WHIP-1.17831.1783form_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 date65
Season rows before report date65
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
IP0.2
H1
R1
ER1
BB0
SO0
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_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_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches22
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260930_BOS@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-30
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

Home Team: TB

Home Pitcher Deep Analysis

FieldValue
PitcherDrew Rasmussen
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5597
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1407
Avg Velo92.3759
Avg Spin2355.1144
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER2
Pre H1
Pre BB3
Pre SO5
Season ERA2.6686
Season WHIP0.9128
Role Avg IP5.7330
Recent Avg IP6.3330
Last Start IP6.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "edges": {
    "quality_edge": -0.0167,
    "offense_edge": 0.0116,
    "opponent_offense_edge": 0.0221,
    "defense_strength": 0.1193,
    "opponent_defense_weakness": -0.2031,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9924,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656876",
    "profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 645.0,
        "k_percent": 26.0,
        "bb_percent": 4.8,
        "woba": 0.243,
        "xwoba": 0.271,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 77.4285,
        "avg_hyper_speed": 93.597,
        "whiff_percent": 25.1,
        "swing_percent": 50.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.906,
        "command_and_miss": 0.4657,
        "regression_edge": -0.8,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.5857,
        "whiff_edge": -0.0143,
        "bb_edge": 1.1,
        "pitch_design_score": 0.1407
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656876",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 93,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 93,
          "pitch_usage": 0.0,
          "release_speed": 92.37588033984052,
          "release_spin_rate": 2355.1143668897917,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 93,
            "pitch_usage": 0.0,
            "release_speed": 92.37588033984052,
            "release_spin_rate": 2355.1143668897917,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3759,
          "release_spin_rate": 2355.1144,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1407,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0047,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.5597,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9524,
      "strikeout_factor": 1.0217,
      "walk_factor": 0.912,
      "homer_factor": 0.9183,
      "woba_minus_xwoba": -0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656876",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9524,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9524,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.912,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9183,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0217,
        "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": 60.2,
    "ER": 13,
    "H": 40,
    "BB": 13,
    "SO": 62,
    "HR": 2,
    "ERA": 1.9285714285714284,
    "WHIP": 0.8736263736263735,
    "K9": 9.197802197802197,
    "HR9": 0.2967032967032967,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656876",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 93,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 93,
    "pitch_usage": 0.0,
    "release_speed": 92.37588033984052,
    "release_spin_rate": 2355.1143668897917,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 93,
      "pitch_usage": 0.0,
      "release_speed": 92.37588033984052,
      "release_spin_rate": 2355.1143668897917,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3759,
    "release_spin_rate": 2355.1144,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1407,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0047,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "656876",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 30,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 31.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 20.0,
        "BB": 7.0,
        "SO": 31.0,
        "HR": 1.0,
        "BF": 119.0,
        "Pitches": 476.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.4,
        "SO": 6.2,
        "HR": 0.2,
        "BF": 23.8,
        "Pitches": 95.2
      },
      "rates": {
        "ERA": 1.4211,
        "WHIP": 0.8526,
        "ER_per_IP": 0.15789,
        "H_per_IP": 0.63158,
        "BB_per_IP": 0.22105,
        "SO_per_IP": 0.97895,
        "HR_per_IP": 0.03158
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 60.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 40.0,
        "BB": 13.0,
        "SO": 62.0,
        "HR": 2.0,
        "BF": 230.0,
        "Pitches": 936.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.3,
        "R": 1.3,
        "H": 4.0,
        "BB": 1.3,
        "SO": 6.2,
        "HR": 0.2,
        "BF": 23.0,
        "Pitches": 93.6
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.8736,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.65934,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.02198,
        "HR_per_IP": 0.03297
      }
    },
    "season": {
      "games": 30,
      "totals": {
        "IP": 172.0,
        "ER": 51.0,
        "R": 53.0,
        "H": 125.0,
        "BB": 32.0,
        "SO": 174.0,
        "HR": 14.0,
        "BF": 669.0,
        "Pitches": 2660.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.7,
        "R": 1.7667,
        "H": 4.1667,
        "BB": 1.0667,
        "SO": 5.8,
        "HR": 0.4667,
        "BF": 22.3,
        "Pitches": 88.6667
      },
      "rates": {
        "ERA": 2.6686,
        "WHIP": 0.9128,
        "ER_per_IP": 0.29651,
        "H_per_IP": 0.72674,
        "BB_per_IP": 0.18605,
        "SO_per_IP": 1.01163,
        "HR_per_IP": 0.0814
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.513,
    "predicted_H": 4.29,
    "predicted_BB": 1.431,
    "predicted_SO": 6.016,
    "predicted_HR": 0.347,
    "predicted_ERA": 2.2428,
    "predicted_WHIP": 0.9422
  }
}
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.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.513,
      "final": 1.7129,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 4.29,
      "final": 2.9399,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.431,
      "final": 2.0749,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 6.016,
      "final": 5.1887,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.347,
      "final": 0.2046,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.2428,
      "final": 2.2428,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9422,
      "final": 0.9422,
      "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 Baker
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4562
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0670
Avg Velo91.0610
Avg Spin2094.4919
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB1
Pre SO0
Season ERA1.2995
Season WHIP0.8663
Role Avg IP0.9890
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "edges": {
    "quality_edge": -0.0167,
    "offense_edge": 0.0116,
    "opponent_offense_edge": 0.0221,
    "defense_strength": 0.1193,
    "opponent_defense_weakness": -0.2031,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9924,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641329",
    "profile": {
      "available": true,
      "pitcher_id": "641329",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 227.0,
        "k_percent": 25.8,
        "bb_percent": 9.0,
        "woba": 0.231,
        "xwoba": 0.272,
        "sweet_spot_percent": 33.1,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 74.9962,
        "avg_hyper_speed": 93.5589,
        "whiff_percent": 27.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9354,
        "command_and_miss": 0.3479,
        "regression_edge": -1.1714,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.0444,
        "hard_hit_edge": 0.3143,
        "whiff_edge": 0.2857,
        "bb_edge": 0.05,
        "pitch_design_score": 0.067
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "641329",
        "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": 91.0609741789056,
          "release_spin_rate": 2094.491937190086,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 91.0609741789056,
            "release_spin_rate": 2094.491937190086,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.061,
          "release_spin_rate": 2094.4919,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.067,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4787,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4562,
      "sample_weight": 0.908,
      "run_prevention_factor": 0.9612,
      "strikeout_factor": 1.0296,
      "walk_factor": 0.9964,
      "homer_factor": 0.9542,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "641329",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9648,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9648,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9967,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9584,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0269,
        "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": 0,
    "H": 5,
    "BB": 3,
    "SO": 4,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.8571428571428572,
    "K9": 3.8571428571428577,
    "HR9": 0.0,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "641329",
  "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": 91.0609741789056,
    "release_spin_rate": 2094.491937190086,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 91.0609741789056,
      "release_spin_rate": 2094.491937190086,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.061,
    "release_spin_rate": 2094.4919,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.067,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4787,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.847,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7198,
    "prior_weight": 0.2802
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641329",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 63,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 78.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.9375,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 144.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.5,
        "BB": 0.4,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.871,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.48387,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 0.48387,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 63,
      "totals": {
        "IP": 62.1,
        "ER": 9.0,
        "R": 10.0,
        "H": 34.0,
        "BB": 20.0,
        "SO": 63.0,
        "HR": 4.0,
        "BF": 241.0,
        "Pitches": 957.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1429,
        "R": 0.1587,
        "H": 0.5397,
        "BB": 0.3175,
        "SO": 1.0,
        "HR": 0.0635,
        "BF": 3.8254,
        "Pitches": 15.1905
      },
      "rates": {
        "ERA": 1.2995,
        "WHIP": 0.8663,
        "ER_per_IP": 0.14439,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.32086,
        "SO_per_IP": 1.0107,
        "HR_per_IP": 0.06417
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.164,
    "predicted_H": 0.719,
    "predicted_BB": 0.311,
    "predicted_SO": 0.65,
    "predicted_HR": 0.051,
    "predicted_ERA": 1.4787,
    "predicted_WHIP": 1.0299
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4684,
  "form_weight": 0.5316,
  "form_reliability": 0.7198,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.847,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7198,
    "prior_weight": 0.2802
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.164,
      "final": 0.0872,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.719,
      "final": 0.8506,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.311,
      "final": 0.6337,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.65,
      "final": 0.3456,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.051,
      "final": 0.0271,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.4787,
      "final": 1.4787,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0299,
      "final": 1.0299,
      "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
PitcherCam Booser
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4179
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0509
Avg Velo90.7732
Avg Spin2027.3870
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA1.9756
Season WHIP0.7561
Role Avg IP0.9760
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "edges": {
    "quality_edge": -0.0167,
    "offense_edge": 0.0116,
    "opponent_offense_edge": 0.0221,
    "defense_strength": 0.1193,
    "opponent_defense_weakness": -0.2031,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9924,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592155",
    "profile": {
      "available": true,
      "pitcher_id": "592155",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 137.0,
        "k_percent": 29.6,
        "bb_percent": 3.9,
        "woba": 0.222,
        "xwoba": 0.252,
        "sweet_spot_percent": 32.7,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 81.0831,
        "avg_hyper_speed": 94.1974,
        "whiff_percent": 28.6,
        "swing_percent": 55.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0817,
        "command_and_miss": 0.9171,
        "regression_edge": -0.8571,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.0429,
        "whiff_edge": 0.4857,
        "bb_edge": 1.325,
        "pitch_design_score": 0.0509
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592155",
        "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": 90.77323781639957,
          "release_spin_rate": 2027.3869910134617,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 90.77323781639957,
            "release_spin_rate": 2027.3869910134617,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7732,
          "release_spin_rate": 2027.387,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0509,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3636,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4179,
      "sample_weight": 0.548,
      "run_prevention_factor": 0.9645,
      "strikeout_factor": 1.0341,
      "walk_factor": 0.9419,
      "homer_factor": 0.9582,
      "woba_minus_xwoba": -0.03,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "592155",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9805,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9805,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9682,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9771,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0187,
        "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": 7.2,
    "ER": 0,
    "H": 2,
    "BB": 0,
    "SO": 6,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.2608695652173913,
    "K9": 7.0434782608695645,
    "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": "592155",
  "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": 90.77323781639957,
    "release_spin_rate": 2027.3869910134617,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.77323781639957,
      "release_spin_rate": 2027.3869910134617,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7732,
    "release_spin_rate": 2027.387,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0509,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3636,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 8.45,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6283,
    "prior_weight": 0.3717
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592155",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 13.0,
        "Pitches": 47.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 2.6,
        "Pitches": 9.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.25,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 86.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.4,
        "Pitches": 8.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2609,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.26087,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.78261,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 41.0,
        "ER": 9.0,
        "R": 10.0,
        "H": 25.0,
        "BB": 6.0,
        "SO": 45.0,
        "HR": 5.0,
        "BF": 152.0,
        "Pitches": 573.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2143,
        "R": 0.2381,
        "H": 0.5952,
        "BB": 0.1429,
        "SO": 1.0714,
        "HR": 0.119,
        "BF": 3.619,
        "Pitches": 13.6429
      },
      "rates": {
        "ERA": 1.9756,
        "WHIP": 0.7561,
        "ER_per_IP": 0.21951,
        "H_per_IP": 0.60976,
        "BB_per_IP": 0.14634,
        "SO_per_IP": 1.09756,
        "HR_per_IP": 0.12195
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.181,
    "predicted_H": 0.475,
    "predicted_BB": 0.133,
    "predicted_SO": 0.782,
    "predicted_HR": 0.058,
    "predicted_ERA": 1.9616,
    "predicted_WHIP": 0.7299
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.507,
  "form_weight": 0.493,
  "form_reliability": 0.6283,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.45,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6283,
    "prior_weight": 0.3717
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 0.2,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.181,
      "final": 0.5963,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.475,
      "final": 0.7412,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.133,
      "final": 0.0656,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.782,
      "final": 0.8925,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.058,
      "final": 0.5356,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9616,
      "final": 1.9616,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7299,
      "final": 0.7299,
      "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
PitcherKevin Kelly
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2796
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0402
Avg Velo89.1464
Avg Spin2031.0064
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA2.4434
Season WHIP0.8959
Role Avg IP1.0380
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0116,
    "defense_index": 1.1193,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "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.0221,
    "defense_index": 1.2031,
    "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.1709
  },
  "edges": {
    "quality_edge": -0.0167,
    "offense_edge": 0.0116,
    "opponent_offense_edge": 0.0221,
    "defense_strength": 0.1193,
    "opponent_defense_weakness": -0.2031,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9924,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687330",
    "profile": {
      "available": true,
      "pitcher_id": "687330",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 260.0,
        "k_percent": 22.6,
        "bb_percent": 3.9,
        "woba": 0.246,
        "xwoba": 0.284,
        "sweet_spot_percent": 31.2,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 44.6,
        "avg_best_speed": 78.7371,
        "avg_hyper_speed": 94.6069,
        "whiff_percent": 24.0,
        "swing_percent": 49.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5887,
        "command_and_miss": 0.2371,
        "regression_edge": -1.0857,
        "xwoba_edge": 0.8,
        "barrel_edge": 0.2667,
        "hard_hit_edge": -0.9571,
        "whiff_edge": -0.1714,
        "bb_edge": 1.325,
        "pitch_design_score": -0.0402
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687330",
        "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.1463705272063,
          "release_spin_rate": 2031.0064061373982,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.1463705272063,
            "release_spin_rate": 2031.0064061373982,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1464,
          "release_spin_rate": 2031.0064,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0402,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2871,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2796,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9762,
      "strikeout_factor": 0.996,
      "walk_factor": 0.894,
      "homer_factor": 0.993,
      "woba_minus_xwoba": -0.038,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "687330",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9762,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9762,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.894,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.993,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.996,
        "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.0,
    "ER": 6,
    "H": 12,
    "BB": 0,
    "SO": 11,
    "HR": 1,
    "ERA": 6.75,
    "WHIP": 1.5,
    "K9": 12.375,
    "HR9": 1.125,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687330",
  "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.1463705272063,
    "release_spin_rate": 2031.0064061373982,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.1463705272063,
      "release_spin_rate": 2031.0064061373982,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1464,
    "release_spin_rate": 2031.0064,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0402,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2871,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.182,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7523,
    "prior_weight": 0.2477
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687330",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 71,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 59.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 11.8
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.0714,
        "ER_per_IP": 0.21429,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 0.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 36.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.7,
        "H": 1.2,
        "BB": 0.0,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 3.6,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.5,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.375,
        "HR_per_IP": 0.125
      }
    },
    "season": {
      "games": 71,
      "totals": {
        "IP": 73.2,
        "ER": 20.0,
        "R": 23.0,
        "H": 55.0,
        "BB": 11.0,
        "SO": 63.0,
        "HR": 6.0,
        "BF": 279.0,
        "Pitches": 987.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2817,
        "R": 0.3239,
        "H": 0.7746,
        "BB": 0.1549,
        "SO": 0.8873,
        "HR": 0.0845,
        "BF": 3.9296,
        "Pitches": 13.9014
      },
      "rates": {
        "ERA": 2.4434,
        "WHIP": 0.8959,
        "ER_per_IP": 0.27149,
        "H_per_IP": 0.74661,
        "BB_per_IP": 0.14932,
        "SO_per_IP": 0.8552,
        "HR_per_IP": 0.08145
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.399,
    "predicted_H": 1.016,
    "predicted_BB": 0.106,
    "predicted_SO": 1.056,
    "predicted_HR": 0.075,
    "predicted_ERA": 3.9396,
    "predicted_WHIP": 1.2302
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4547,
  "form_weight": 0.5453,
  "form_reliability": 0.7523,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.182,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7523,
    "prior_weight": 0.2477
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.399,
      "final": 0.2176,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.016,
      "final": 1.0087,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.106,
      "final": 0.0578,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.056,
      "final": 0.5759,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.075,
      "final": 0.0409,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9396,
      "final": 3.9396,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2302,
      "final": 1.2302,
      "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."
}
Liam Hicks (689414) · BATTER · C · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 123
All-history rows before 20261003: 123
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.3181
Diff (system - data): -0.0341
System opponent_avg: 0.0530
System season_avg diverges from 2026 season-to-date by -0.0341. 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.1130.0000.000Hitting_2B0.2032.000-0.203-2.000
predicted_3B0.0070.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.5103.0004.000Hitting_AB3.3744.000-0.374-1.000
predicted_AVG0.2630.0000.250Hitting_AVG0.3180.500-0.318-0.500
predicted_BB0.3941.0000.000Hitting_BB0.4390.0000.5611.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1900.0001.000Hitting_H1.0732.000-1.073-2.000
predicted_HR0.1000.0000.000Hitting_HR0.1460.000-0.1460.000
predicted_OBP0.3440.2500.250Hitting_OBP0.4110.500-0.161-0.250
predicted_R0.4650.0000.000Hitting_R0.3740.000-0.3740.000
predicted_RBI0.5700.0001.000Hitting_RBI0.7400.000-0.7400.000
predicted_SLG0.3870.0000.250Hitting_SLG0.5081.000-0.508-1.000
predicted_SO0.3870.0000.000Hitting_SO0.3500.000-0.3500.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.3940 -> 1.0000 (boost 0.6060, better)
Biggest Deboostpredicted_AB: 4.5100 -> 3.0000 (deboost -1.5100, 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.5100 -> 4.0542 (deboost -0.4558, 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.3867 -> 0.3633 (deboost -0.0234, 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_RBI: 0.5080 -> 0.0000 (deboost -0.5080, worse)AB rounded to 4 (raw=4.51), rates preserved: AVG=0.233 HR/AB=0.020
6consistency_constraints10101-predicted_R: 0.4365 -> 0.0000 (deboost -0.4365, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.5462 (boost 0.5462, 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_allocation51423predicted_RBI: 0.5462 -> 1.0000 (boost 0.4538, better)predicted_SO: 0.4569 -> 0.0000 (deboost -0.4569, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context21111predicted_SLG: 0.3633 -> 0.4250 (boost 0.0617, 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_reference31212predicted_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_final10101-predicted_SLG: 0.4250 -> 0.3633 (deboost -0.0617, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "689414",
  "player_name": "Liam Hicks",
  "position": "C",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.113,
        "predicted_3B": 0.007,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.394,
        "predicted_H": 1.19,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.344,
        "predicted_R": 0.465,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.387,
        "predicted_SO": 0.387
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.143,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.0542,
        "predicted_AVG": 0.2623,
        "predicted_BB": 0.4027,
        "predicted_H": 1.066,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0913,
        "predicted_OBP": 0.3444,
        "predicted_R": 0.4472,
        "predicted_RBI": 0.5204,
        "predicted_SLG": 0.3867,
        "predicted_SO": 0.4235
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.113,
          "after": 0.143,
          "delta": 0.03,
          "percent_delta": 0.2655,
          "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.51,
          "after": 4.0542,
          "delta": -0.4558,
          "percent_delta": -0.1011,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.2623,
          "delta": -0.0007,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.394,
          "after": 0.4027,
          "delta": 0.0087,
          "percent_delta": 0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.19,
          "after": 1.066,
          "delta": -0.124,
          "percent_delta": -0.1042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0913,
          "delta": -0.0087,
          "percent_delta": -0.087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.344,
          "after": 0.3444,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.465,
          "after": 0.4472,
          "delta": -0.0178,
          "percent_delta": -0.0383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.57,
          "after": 0.5204,
          "delta": -0.0496,
          "percent_delta": -0.087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3867,
          "delta": -0.0003,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.387,
          "after": 0.4235,
          "delta": 0.0365,
          "percent_delta": 0.0943,
          "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.51,
          "after": 4.0542,
          "delta": -0.4558,
          "percent_delta": -0.1011,
          "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": 142
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.143,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.0542,
        "predicted_AVG": 0.2588,
        "predicted_BB": 0.4027,
        "predicted_H": 1.0492,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0895,
        "predicted_OBP": 0.3258,
        "predicted_R": 0.4365,
        "predicted_RBI": 0.508,
        "predicted_SLG": 0.3633,
        "predicted_SO": 0.4235
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.143,
          "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.0542,
          "after": 4.0542,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2623,
          "after": 0.2588,
          "delta": -0.0035,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4027,
          "after": 0.4027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.066,
          "after": 1.0492,
          "delta": -0.0168,
          "percent_delta": -0.0158,
          "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.0913,
          "after": 0.0895,
          "delta": -0.0018,
          "percent_delta": -0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3444,
          "after": 0.3258,
          "delta": -0.0186,
          "percent_delta": -0.054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4472,
          "after": 0.4365,
          "delta": -0.0107,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5204,
          "after": 0.508,
          "delta": -0.0124,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3867,
          "after": 0.3633,
          "delta": -0.0234,
          "percent_delta": -0.0605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4235,
          "after": 0.4235,
          "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.3867,
          "after": 0.3633,
          "delta": -0.0234,
          "percent_delta": -0.0605,
          "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.51), rates preserved: AVG=0.233 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.0,
          "delta": -0.143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0542,
          "after": 4.0,
          "delta": -0.0542,
          "percent_delta": -0.0134,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4027,
          "after": 0.0,
          "delta": -0.4027,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0492,
          "after": 1.0,
          "delta": -0.0492,
          "percent_delta": -0.0469,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0895,
          "after": 0.0,
          "delta": -0.0895,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.508,
          "after": 0.0,
          "delta": -0.508,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4235,
          "after": 0.0,
          "delta": -0.4235,
          "percent_delta": -1.0,
          "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_RBI",
          "before": 0.508,
          "after": 0.0,
          "delta": -0.508,
          "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.4365,
          "after": 0.0,
          "delta": -0.4365,
          "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.4365,
          "after": 0.0,
          "delta": -0.4365,
          "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.157,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.2971,
        "predicted_H": 0.9541,
        "predicted_HR": 0.1378,
        "predicted_RBI": 0.5462,
        "predicted_SO": 0.4569
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.157,
          "delta": 0.157,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0102,
          "delta": 0.0102,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2971,
          "delta": 0.2971,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9541,
          "delta": -0.0459,
          "percent_delta": -0.0459,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1378,
          "delta": 0.1378,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5462,
          "delta": 0.5462,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4569,
          "delta": 0.4569,
          "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": 0.5462,
          "delta": 0.5462,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "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.0102,
          "after": 0.0,
          "delta": -0.0102,
          "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.2971,
          "after": 0.0,
          "delta": -0.2971,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9541,
          "after": 1.0,
          "delta": 0.0459,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1378,
          "after": 0.0,
          "delta": -0.1378,
          "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.5462,
          "after": 1.0,
          "delta": 0.4538,
          "percent_delta": 0.8308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4569,
          "after": 0.0,
          "delta": -0.4569,
          "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.5462,
          "after": 1.0,
          "delta": 0.4538,
          "percent_delta": 0.8308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4569,
          "after": 0.0,
          "delta": -0.4569,
          "percent_delta": -1.0,
          "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.262,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.425,
        "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.2588,
          "after": 0.262,
          "delta": 0.0032,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3258,
          "after": 0.324,
          "delta": -0.0018,
          "percent_delta": -0.0055,
          "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_SLG",
          "before": 0.3633,
          "after": 0.425,
          "delta": 0.0617,
          "percent_delta": 0.1698,
          "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.3633,
          "after": 0.425,
          "delta": 0.0617,
          "percent_delta": 0.1698,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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_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.2588,
        "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.3258,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3633,
        "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.262,
          "after": 0.2588,
          "delta": -0.0032,
          "percent_delta": -0.0123,
          "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": 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.324,
          "after": 0.3258,
          "delta": 0.0018,
          "percent_delta": 0.0054,
          "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.425,
          "after": 0.3633,
          "delta": -0.0617,
          "percent_delta": -0.1452,
          "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_SLG",
          "before": 0.425,
          "after": 0.3633,
          "delta": -0.0617,
          "percent_delta": -0.1452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.113,
        "after": 0.0,
        "delta": -0.113,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 3.0,
        "delta": -1.51,
        "percent_delta": -0.3348,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.2588,
        "delta": -0.0042,
        "percent_delta": -0.016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.394,
        "after": 1.0,
        "delta": 0.606,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.19,
        "after": 0.0,
        "delta": -1.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.344,
        "after": 0.3258,
        "delta": -0.0182,
        "percent_delta": -0.0529,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.465,
        "after": 0.0,
        "delta": -0.465,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.387,
        "after": 0.3633,
        "delta": -0.0237,
        "percent_delta": -0.0612,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.387,
        "after": 0.0,
        "delta": -0.387,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.394,
        "after": 1.0,
        "delta": 0.606,
        "percent_delta": 1.5381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 3.0,
        "delta": -1.51,
        "percent_delta": -0.3348,
        "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.113-
predicted_3B0.007-
predicted_AB4.510-
predicted_AVG0.263-
predicted_BB0.394-
predicted_H1.190-
predicted_HR0.100-
predicted_OBP0.344-
predicted_R0.465-
predicted_RBI0.570-
predicted_SLG0.387-
predicted_SO0.387-
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.1430.030
predicted_3B0.006-0.001
predicted_AB4.054-0.456
predicted_AVG0.262-0.001
predicted_BB0.4030.009
predicted_H1.066-0.124
predicted_HBP0.047-
predicted_HR0.091-0.009
predicted_OBP0.3440.000
predicted_R0.447-0.018
predicted_RBI0.520-0.050
predicted_SLG0.387-0.000
predicted_SO0.4230.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.1430.000
predicted_3B0.0060.000
predicted_AB4.0540.000
predicted_AVG0.259-0.004
predicted_BB0.4030.000
predicted_H1.049-0.017
predicted_HBP0.0470.000
predicted_HR0.089-0.002
predicted_OBP0.326-0.019
predicted_R0.436-0.011
predicted_RBI0.508-0.012
predicted_SLG0.363-0.023
predicted_SO0.4230.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 4 (raw=4.51), rates preserved: AVG=0.233 HR/AB=0.020

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.1570.157
3B0.0100.010
BB0.2970.297
H0.954-0.046
HR0.1380.138
RBI0.5460.546
SO0.4570.457
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.010
AB4.0000.000
BB0.000-0.297
H1.0000.046
HR0.000-0.138
R0.0000.000
RBI1.0000.454
SO0.000-0.457
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.143
predicted_3B0.000-0.006
predicted_AB4.000-0.054
predicted_AVG0.2620.003
predicted_BB0.000-0.403
predicted_H1.000-0.049
predicted_HR0.000-0.089
predicted_OBP0.324-0.002
predicted_R0.000-0.436
predicted_RBI0.000-0.508
predicted_SLG0.4250.062
predicted_SO0.000-0.423
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.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: 142
Reference playing time: 4.510
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.0004.0002.0000.0000.0001.0002.0002.0003.0000.20000.27270.30000.20000.00000.05000.10000.1500
last_100.2010-31.0008.0002.0000.0000.0003.0003.0005.0005.0000.25810.36110.32260.25810.00000.09680.16130.1613
season0.60142-479.000136.00016.0001.00018.00082.00066.00056.00055.0000.28390.36710.43420.28390.03760.17120.11690.1148
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1820
predicted_3B0.0050
predicted_AB3.4620
predicted_AVG0.2613
predicted_BB0.4140
predicted_H0.9050
predicted_HBP0.0470
predicted_HR0.0800
predicted_OBP0.3449
predicted_R0.4240
predicted_RBI0.4560
predicted_SLG0.3862
predicted_SO0.4710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11300.18200.1430model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.51003.46204.0542model_form_blend
predicted_AVG0.26300.26130.2623model_form_blend
predicted_BB0.39400.41400.4027model_form_blend
predicted_H1.19000.90501.0660model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.10000.08000.0913model_form_blend
predicted_OBP0.34400.34490.3444model_form_blend
predicted_R0.46500.42400.4472model_form_blend
predicted_RBI0.57000.45600.5204model_form_blend
predicted_SLG0.38700.38620.3867model_form_blend
predicted_SO0.38700.47100.4235model_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 date123
Season rows before report date123
Report year2026
Profile rows used142
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
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_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_SO0
Hitting_TB4
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
allPositionsPlayedDH
gameID20260927_TB@PHI
game_typefull
mlbID689414
playerID689414
playerNameLiam Hicks
posC
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-09-27
sl_k_percent9.9
sl_bb_percent10.1
sl_woba0.352
sl_xwoba0.319
sl_xba0.261
sl_xslg0.358
sl_sweet_spot_percent30.8
sl_barrel_batted_rate3.7
sl_hard_hit_percent27.1
sl_exit_velocity_avg84.6
sl_launch_angle_avg14.5
sl_whiff_percent11.4
sl_swing_percent41.7
Jonathan Aranda (666018) · BATTER · 1B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 642
All-history rows before 20261003: 642
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2832
Diff (system - data): -0.0072
System opponent_avg: 0.2280

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1750.0000.000Hitting_2B0.1761.000-0.176-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8904.0004.000Hitting_AB3.9052.0000.0952.000
predicted_AVG0.2490.0000.250Hitting_AVG0.2830.500-0.283-0.500
predicted_BB0.4420.0001.000Hitting_BB0.4610.000-0.4610.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H0.9700.0001.000Hitting_H1.1061.000-1.106-1.000
predicted_HR0.1300.0000.000Hitting_HR0.1510.000-0.1510.000
predicted_OBP0.3120.0000.400Hitting_OBP0.3640.500-0.364-0.500
predicted_R0.4740.0000.000Hitting_R0.5160.000-0.5160.000
predicted_RBI0.5200.0001.000Hitting_RBI0.6540.000-0.6540.000
predicted_SLG0.4330.0000.250Hitting_SLG0.4441.000-0.444-1.000
predicted_SO1.0523.0001.000Hitting_SO1.0701.0001.9302.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: 1.0520 -> 3.0000 (boost 1.9480, worse)
Biggest Deboostpredicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend82617predicted_SO: 1.0520 -> 1.1504 (boost 0.0984, worse)predicted_AB: 3.8900 -> 3.7203 (deboost -0.1697, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_SLG: 0.4109 -> 0.3841 (deboost -0.0268, 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_AB: 3.7203 -> 4.0000 (boost 0.2797, better)predicted_RBI: 0.4559 -> 0.0000 (deboost -0.4559, worse)AB rounded to 4 (raw=3.89), rates preserved: AVG=0.230 HR/AB=0.030
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
7consistency_constraints10101-predicted_R: 0.3943 -> 0.0000 (deboost -0.3943, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.5669 (boost 0.5669, 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_allocation52332predicted_BB: 0.3156 -> 1.0000 (boost 0.6844, better)predicted_2B: 0.1996 -> 0.0000 (deboost -0.1996, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context42222predicted_SLG: 0.3841 -> 0.4250 (boost 0.0409, 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_reference21102predicted_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_final20202-predicted_SLG: 0.4250 -> 0.3841 (deboost -0.0409, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666018",
  "player_name": "Jonathan Aranda",
  "position": "1B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.175,
        "predicted_3B": 0.0,
        "predicted_AB": 3.89,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.442,
        "predicted_H": 0.97,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.312,
        "predicted_R": 0.474,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.433,
        "predicted_SO": 1.052
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0004,
        "predicted_AB": 3.7203,
        "predicted_AVG": 0.2432,
        "predicted_BB": 0.4542,
        "predicted_H": 0.9066,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1178,
        "predicted_OBP": 0.3201,
        "predicted_R": 0.404,
        "predicted_RBI": 0.4671,
        "predicted_SLG": 0.4109,
        "predicted_SO": 1.1504
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.175,
          "after": 0.1894,
          "delta": 0.0144,
          "percent_delta": 0.0823,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.89,
          "after": 3.7203,
          "delta": -0.1697,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2432,
          "delta": -0.0058,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.442,
          "after": 0.4542,
          "delta": 0.0122,
          "percent_delta": 0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9066,
          "delta": -0.0634,
          "percent_delta": -0.0654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1178,
          "delta": -0.0122,
          "percent_delta": -0.0938,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3201,
          "delta": 0.0081,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.474,
          "after": 0.404,
          "delta": -0.07,
          "percent_delta": -0.1477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 0.4671,
          "delta": -0.0529,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.4109,
          "delta": -0.0221,
          "percent_delta": -0.051,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.052,
          "after": 1.1504,
          "delta": 0.0984,
          "percent_delta": 0.0935,
          "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": 1.052,
          "after": 1.1504,
          "delta": 0.0984,
          "percent_delta": 0.0935,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.89,
          "after": 3.7203,
          "delta": -0.1697,
          "percent_delta": -0.0436,
          "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.1894,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7203,
        "predicted_AVG": 0.2398,
        "predicted_BB": 0.4542,
        "predicted_H": 0.8923,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1155,
        "predicted_OBP": 0.3225,
        "predicted_R": 0.3943,
        "predicted_RBI": 0.4559,
        "predicted_SLG": 0.3841,
        "predicted_SO": 1.1504
      },
      "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.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7203,
          "after": 3.7203,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2432,
          "after": 0.2398,
          "delta": -0.0034,
          "percent_delta": -0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4542,
          "after": 0.4542,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9066,
          "after": 0.8923,
          "delta": -0.0143,
          "percent_delta": -0.0158,
          "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.1178,
          "after": 0.1155,
          "delta": -0.0023,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3201,
          "after": 0.3225,
          "delta": 0.0024,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.404,
          "after": 0.3943,
          "delta": -0.0097,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4671,
          "after": 0.4559,
          "delta": -0.0112,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4109,
          "after": 0.3841,
          "delta": -0.0268,
          "percent_delta": -0.0652,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1504,
          "after": 1.1504,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4109,
          "after": 0.3841,
          "delta": -0.0268,
          "percent_delta": -0.0652,
          "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.89), rates preserved: AVG=0.230 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1894,
          "after": 0.0,
          "delta": -0.1894,
          "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.7203,
          "after": 4.0,
          "delta": 0.2797,
          "percent_delta": 0.0752,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4542,
          "after": 0.0,
          "delta": -0.4542,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8923,
          "after": 1.0,
          "delta": 0.1077,
          "percent_delta": 0.1207,
          "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.1155,
          "after": 0.0,
          "delta": -0.1155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4559,
          "after": 0.0,
          "delta": -0.4559,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1504,
          "after": 1.0,
          "delta": -0.1504,
          "percent_delta": -0.1307,
          "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.7203,
          "after": 4.0,
          "delta": 0.2797,
          "percent_delta": 0.0752,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4559,
          "after": 0.0,
          "delta": -0.4559,
          "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.222)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.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": 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.1996,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.3156,
        "predicted_H": 0.9883,
        "predicted_HR": 0.1389,
        "predicted_RBI": 0.5669,
        "predicted_SO": 1.0987
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1996,
          "delta": 0.1996,
          "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.3156,
          "delta": 0.3156,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9883,
          "delta": -0.0117,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1389,
          "delta": 0.1389,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5669,
          "delta": 0.5669,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0987,
          "delta": 0.0987,
          "percent_delta": 0.0987,
          "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.5669,
          "delta": 0.5669,
          "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": 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.1996,
          "after": 0.0,
          "delta": -0.1996,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3156,
          "after": 1.0,
          "delta": 0.6844,
          "percent_delta": 2.1686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9883,
          "after": 1.0,
          "delta": 0.0117,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1389,
          "after": 0.0,
          "delta": -0.1389,
          "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.5669,
          "after": 1.0,
          "delta": 0.4331,
          "percent_delta": 0.764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0987,
          "after": 1.0,
          "delta": -0.0987,
          "percent_delta": -0.0898,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3156,
          "after": 1.0,
          "delta": 0.6844,
          "percent_delta": 2.1686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1996,
          "after": 0.0,
          "delta": -0.1996,
          "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.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.321,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.425,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2398,
          "after": 0.259,
          "delta": 0.0192,
          "percent_delta": 0.0801,
          "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.3225,
          "after": 0.321,
          "delta": -0.0015,
          "percent_delta": -0.0047,
          "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_SLG",
          "before": 0.3841,
          "after": 0.425,
          "delta": 0.0409,
          "percent_delta": 0.1065,
          "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": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3841,
          "after": 0.425,
          "delta": 0.0409,
          "percent_delta": 0.1065,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2398,
        "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.3225,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3841,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2398,
          "delta": -0.0192,
          "percent_delta": -0.074,
          "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.321,
          "after": 0.3225,
          "delta": 0.0015,
          "percent_delta": 0.0048,
          "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.425,
          "after": 0.3841,
          "delta": -0.0409,
          "percent_delta": -0.0963,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.3841,
          "delta": -0.0409,
          "percent_delta": -0.0963,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.89,
        "after": 4.0,
        "delta": 0.11,
        "percent_delta": 0.0283,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2398,
        "delta": -0.0092,
        "percent_delta": -0.0369,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.442,
        "after": 0.0,
        "delta": -0.442,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "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.312,
        "after": 0.3225,
        "delta": 0.0105,
        "percent_delta": 0.0337,
        "direction": "boost",
        "projection_effect": "better",
        "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.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.433,
        "after": 0.3841,
        "delta": -0.0489,
        "percent_delta": -0.1129,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.052,
        "after": 3.0,
        "delta": 1.948,
        "percent_delta": 1.8517,
        "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": 1.052,
        "after": 3.0,
        "delta": 1.948,
        "percent_delta": 1.8517,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "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.175-
predicted_3B0.000-
predicted_AB3.890-
predicted_AVG0.249-
predicted_BB0.442-
predicted_H0.970-
predicted_HR0.130-
predicted_OBP0.312-
predicted_R0.474-
predicted_RBI0.520-
predicted_SLG0.433-
predicted_SO1.052-
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.014
predicted_3B0.0000.000
predicted_AB3.720-0.170
predicted_AVG0.243-0.006
predicted_BB0.4540.012
predicted_H0.907-0.063
predicted_HBP0.040-
predicted_HR0.118-0.012
predicted_OBP0.3200.008
predicted_R0.404-0.070
predicted_RBI0.467-0.053
predicted_SLG0.411-0.022
predicted_SO1.1500.098
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.0000.000
predicted_AB3.7200.000
predicted_AVG0.240-0.003
predicted_BB0.4540.000
predicted_H0.892-0.014
predicted_HBP0.0400.000
predicted_HR0.116-0.002
predicted_OBP0.3230.002
predicted_R0.394-0.010
predicted_RBI0.456-0.011
predicted_SLG0.384-0.027
predicted_SO1.1500.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 4 (raw=3.89), rates preserved: AVG=0.230 HR/AB=0.030

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=9.0, weight=0.092, BvP AVG=0.222)

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.2000.200
3B0.0070.007
BB0.3160.316
H0.988-0.012
HR0.1390.139
RBI0.5670.567
SO1.0990.099
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.200
3B0.000-0.007
AB4.0000.000
BB1.0000.684
H1.0000.012
HR0.000-0.139
R0.0000.000
RBI1.0000.433
SO1.000-0.099
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.189
predicted_3B0.000-0.000
predicted_AB4.0000.280
predicted_AVG0.2590.019
predicted_BB0.000-0.454
predicted_H1.0000.108
predicted_HR0.000-0.116
predicted_OBP0.321-0.002
predicted_R0.000-0.394
predicted_RBI0.000-0.456
predicted_SLG0.4250.041
predicted_SO1.000-0.150
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.0000.000
PA4.000-
R0.0000.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: 154
Reference playing time: 3.890
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.0002.0001.0000.0000.0000.0000.0003.0008.0000.14290.29410.21430.14290.00000.00000.21430.5714
last_100.2010-34.0007.0003.0000.0001.0003.0002.0004.00015.0000.20590.28950.38240.20590.02940.08820.11770.4412
season0.60154-577.000159.00027.0000.00022.00092.00073.00068.000162.0000.27560.35840.43670.27560.03810.15950.11780.2808
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2080
predicted_3B0.0010
predicted_AB3.5020
predicted_AVG0.2357
predicted_BB0.4700
predicted_H0.8250
predicted_HBP0.0400
predicted_HR0.1020
predicted_OBP0.3306
predicted_R0.3140
predicted_RBI0.3990
predicted_SLG0.3825
predicted_SO1.2770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17500.20800.1894model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.89003.50203.7203model_form_blend
predicted_AVG0.24900.23570.2432model_form_blend
predicted_BB0.44200.47000.4542model_form_blend
predicted_H0.97000.82500.9066model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.13000.10200.1178model_form_blend
predicted_OBP0.31200.33060.3201model_form_blend
predicted_R0.47400.31400.4040model_form_blend
predicted_RBI0.52000.39900.4671model_form_blend
predicted_SLG0.43300.38250.4109model_form_blend
predicted_SO1.05201.27701.1504model_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 date642
Season rows before report date642
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
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_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_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
allPositionsPlayed1B
gameID20260927_TB@PHI
game_typefull
mlbID666018
playerID666018
playerNameJonathan Aranda
pos1B
startedTrue
startingPosition1B
teamTB
teamID27
game_date2026-09-27
sl_k_percent24.4
sl_bb_percent10.3
sl_woba0.348
sl_xwoba0.343
sl_xba0.254
sl_xslg0.438
sl_sweet_spot_percent38.8
sl_barrel_batted_rate9.9
sl_hard_hit_percent46.0
sl_exit_velocity_avg91.1
sl_launch_angle_avg14.4
sl_whiff_percent22.5
sl_swing_percent46.7
Yandy Díaz (650490) · BATTER · DH · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 661
All-history rows before 20261003: 661
System season_avg: 0.2950
Data season_avg (2026 season-to-date): 0.2988
Diff (system - data): -0.0038
System opponent_avg: 0.2980

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1702.0000.000Hitting_2B0.1741.0001.8261.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.7104.0004.000Hitting_AB4.0764.000-0.0760.000
predicted_AVG0.2750.7500.250Hitting_AVG0.2990.7500.4510.000
predicted_BB0.3660.0000.000Hitting_BB0.3630.000-0.3630.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.5703.0001.000Hitting_H1.2183.0001.7820.000
predicted_HR0.1300.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3450.7500.250Hitting_OBP0.3630.7500.3870.000
predicted_R0.6081.0001.000Hitting_R0.6143.0000.386-2.000
predicted_RBI0.7201.0001.000Hitting_RBI0.5790.0000.4211.000
predicted_SLG0.4381.2500.250Hitting_SLG0.4551.0000.7950.250
predicted_SO0.6340.0001.000Hitting_SO0.6410.000-0.6410.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_2B: 0.1700 -> 2.0000 (boost 1.8300, better)
Biggest Deboostpredicted_AB: 5.7100 -> 4.0000 (deboost -1.7100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 5.7100 -> 4.9712 (deboost -0.7388, 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.4155 -> 0.3736 (deboost -0.0419, 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_AB: 4.9712 -> 4.0000 (deboost -0.9712, worse)AB rounded to 4 (raw=5.71), rates preserved: AVG=0.237 HR/AB=0.019
6bvp_blend11001predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=57.0, weight=0.250, BvP AVG=0.298)
7consistency_constraints11010predicted_R: 0.6298 -> 1.0000 (boost 0.3702, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.5345 (boost 0.5345, better)predicted_SO: 1.0000 -> 0.7283 (deboost -0.2717, 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_RBI: 0.5345 -> 1.0000 (boost 0.4655, better)predicted_BB: 0.2616 -> 0.0000 (deboost -0.2616, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3736 -> 0.4420 (boost 0.0684, 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_reference43140predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4420 -> 0.3736 (deboost -0.0684, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650490",
  "player_name": "Yandy Díaz",
  "position": "DH",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.17,
        "predicted_3B": 0.007,
        "predicted_AB": 5.71,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.366,
        "predicted_H": 1.57,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.345,
        "predicted_R": 0.608,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.438,
        "predicted_SO": 0.634
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1665,
        "predicted_3B": 0.0057,
        "predicted_AB": 4.9712,
        "predicted_AVG": 0.2761,
        "predicted_BB": 0.3537,
        "predicted_H": 1.3713,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1121,
        "predicted_OBP": 0.3418,
        "predicted_R": 0.6452,
        "predicted_RBI": 0.653,
        "predicted_SLG": 0.4155,
        "predicted_SO": 0.6165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1665,
          "delta": -0.0035,
          "percent_delta": -0.0206,
          "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": 5.71,
          "after": 4.9712,
          "delta": -0.7388,
          "percent_delta": -0.1294,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2761,
          "delta": 0.0011,
          "percent_delta": 0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.366,
          "after": 0.3537,
          "delta": -0.0123,
          "percent_delta": -0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.57,
          "after": 1.3713,
          "delta": -0.1987,
          "percent_delta": -0.1266,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1121,
          "delta": -0.0179,
          "percent_delta": -0.1377,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3418,
          "delta": -0.0032,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.608,
          "after": 0.6452,
          "delta": 0.0372,
          "percent_delta": 0.0612,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.72,
          "after": 0.653,
          "delta": -0.067,
          "percent_delta": -0.0931,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.4155,
          "delta": -0.0225,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.634,
          "after": 0.6165,
          "delta": -0.0175,
          "percent_delta": -0.0276,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.71,
          "after": 4.9712,
          "delta": -0.7388,
          "percent_delta": -0.1294,
          "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.1665,
        "predicted_3B": 0.0057,
        "predicted_AB": 4.9712,
        "predicted_AVG": 0.2715,
        "predicted_BB": 0.3537,
        "predicted_H": 1.3496,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1099,
        "predicted_OBP": 0.3199,
        "predicted_R": 0.6298,
        "predicted_RBI": 0.6374,
        "predicted_SLG": 0.3736,
        "predicted_SO": 0.6165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1665,
          "after": 0.1665,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0057,
          "after": 0.0057,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.9712,
          "after": 4.9712,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2761,
          "after": 0.2715,
          "delta": -0.0046,
          "percent_delta": -0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3537,
          "after": 0.3537,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3713,
          "after": 1.3496,
          "delta": -0.0217,
          "percent_delta": -0.0158,
          "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.1121,
          "after": 0.1099,
          "delta": -0.0022,
          "percent_delta": -0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3418,
          "after": 0.3199,
          "delta": -0.0219,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6452,
          "after": 0.6298,
          "delta": -0.0154,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.653,
          "after": 0.6374,
          "delta": -0.0156,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4155,
          "after": 0.3736,
          "delta": -0.0419,
          "percent_delta": -0.1008,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6165,
          "after": 0.6165,
          "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.4155,
          "after": 0.3736,
          "delta": -0.0419,
          "percent_delta": -0.1008,
          "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.71), rates preserved: AVG=0.237 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1665,
          "after": 0.0,
          "delta": -0.1665,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0057,
          "after": 0.0,
          "delta": -0.0057,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.9712,
          "after": 4.0,
          "delta": -0.9712,
          "percent_delta": -0.1954,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3537,
          "after": 0.0,
          "delta": -0.3537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3496,
          "after": 1.0,
          "delta": -0.3496,
          "percent_delta": -0.259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.039,
          "after": 0.0,
          "delta": -0.039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1099,
          "after": 0.0,
          "delta": -0.1099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6374,
          "after": 0.0,
          "delta": -0.6374,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6165,
          "after": 0.0,
          "delta": -0.6165,
          "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_AB",
          "before": 4.9712,
          "after": 4.0,
          "delta": -0.9712,
          "percent_delta": -0.1954,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=57.0, weight=0.250, BvP AVG=0.298)",
      "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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.75,
        "bvp": 0.25
      },
      "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.6298,
          "after": 1.0,
          "delta": 0.3702,
          "percent_delta": 0.5878,
          "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.6298,
          "after": 1.0,
          "delta": 0.3702,
          "percent_delta": 0.5878,
          "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.1859,
        "predicted_3B": 0.0095,
        "predicted_BB": 0.2616,
        "predicted_H": 1.1404,
        "predicted_HR": 0.1529,
        "predicted_RBI": 0.5345,
        "predicted_SO": 0.7283
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1859,
          "delta": 0.1859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0095,
          "delta": 0.0095,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2616,
          "delta": 0.2616,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1404,
          "delta": 0.1404,
          "percent_delta": 0.1404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1529,
          "delta": 0.1529,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5345,
          "delta": 0.5345,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7283,
          "delta": -0.2717,
          "percent_delta": -0.2717,
          "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": 0.5345,
          "delta": 0.5345,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7283,
          "delta": -0.2717,
          "percent_delta": -0.2717,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1859,
          "after": 0.0,
          "delta": -0.1859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0095,
          "after": 0.0,
          "delta": -0.0095,
          "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.2616,
          "after": 0.0,
          "delta": -0.2616,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1404,
          "after": 1.0,
          "delta": -0.1404,
          "percent_delta": -0.1231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1529,
          "after": 0.0,
          "delta": -0.1529,
          "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.5345,
          "after": 1.0,
          "delta": 0.4655,
          "percent_delta": 0.8709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7283,
          "after": 1.0,
          "delta": 0.2717,
          "percent_delta": 0.3731,
          "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.5345,
          "after": 1.0,
          "delta": 0.4655,
          "percent_delta": 0.8709,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2616,
          "after": 0.0,
          "delta": -0.2616,
          "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.279,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.442,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2715,
          "after": 0.279,
          "delta": 0.0075,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.328,
          "delta": 0.0081,
          "percent_delta": 0.0253,
          "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.3736,
          "after": 0.442,
          "delta": 0.0684,
          "percent_delta": 0.1831,
          "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.3736,
          "after": 0.442,
          "delta": 0.0684,
          "percent_delta": 0.1831,
          "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": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 4.0,
        "predicted_AVG": 0.2715,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3199,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3736,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.2715,
          "delta": -0.0075,
          "percent_delta": -0.0269,
          "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.328,
          "after": 0.3199,
          "delta": -0.0081,
          "percent_delta": -0.0248,
          "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.442,
          "after": 0.3736,
          "delta": -0.0684,
          "percent_delta": -0.1548,
          "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.442,
          "after": 0.3736,
          "delta": -0.0684,
          "percent_delta": -0.1548,
          "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": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "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": 5.71,
        "after": 4.0,
        "delta": -1.71,
        "percent_delta": -0.2995,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.2715,
        "delta": -0.0035,
        "percent_delta": -0.0127,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.366,
        "after": 0.0,
        "delta": -0.366,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.57,
        "after": 3.0,
        "delta": 1.43,
        "percent_delta": 0.9108,
        "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.345,
        "after": 0.3199,
        "delta": -0.0251,
        "percent_delta": -0.0728,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.608,
        "after": 1.0,
        "delta": 0.392,
        "percent_delta": 0.6447,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 1.0,
        "delta": 0.28,
        "percent_delta": 0.3889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.3736,
        "delta": -0.0644,
        "percent_delta": -0.147,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.634,
        "after": 0.0,
        "delta": -0.634,
        "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_2B",
        "before": 0.17,
        "after": 2.0,
        "delta": 1.83,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.71,
        "after": 4.0,
        "delta": -1.71,
        "percent_delta": -0.2995,
        "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.170-
predicted_3B0.007-
predicted_AB5.710-
predicted_AVG0.275-
predicted_BB0.366-
predicted_H1.570-
predicted_HR0.130-
predicted_OBP0.345-
predicted_R0.608-
predicted_RBI0.720-
predicted_SLG0.438-
predicted_SO0.634-
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.167-0.004
predicted_3B0.006-0.001
predicted_AB4.971-0.739
predicted_AVG0.2760.001
predicted_BB0.354-0.012
predicted_H1.371-0.199
predicted_HBP0.039-
predicted_HR0.112-0.018
predicted_OBP0.342-0.003
predicted_R0.6450.037
predicted_RBI0.653-0.067
predicted_SLG0.415-0.023
predicted_SO0.617-0.017
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.1670.000
predicted_3B0.0060.000
predicted_AB4.9710.000
predicted_AVG0.272-0.005
predicted_BB0.3540.000
predicted_H1.350-0.022
predicted_HBP0.0390.000
predicted_HR0.110-0.002
predicted_OBP0.320-0.022
predicted_R0.630-0.015
predicted_RBI0.637-0.016
predicted_SLG0.374-0.042
predicted_SO0.6170.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 4 (raw=5.71), rates preserved: AVG=0.237 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-
SO0.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=57.0, weight=0.250, BvP AVG=0.298)

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.0001.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.1860.186
3B0.0090.009
BB0.2620.262
H1.1400.140
HR0.1530.153
RBI0.5340.534
SO0.728-0.272
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.186
3B0.000-0.009
AB4.0000.000
BB0.000-0.262
H1.000-0.140
HR0.000-0.153
R1.0000.000
RBI1.0000.466
SO1.0000.272
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.167
predicted_3B0.000-0.006
predicted_AB4.000-0.971
predicted_AVG0.2790.008
predicted_BB0.000-0.354
predicted_H1.000-0.350
predicted_HR0.000-0.110
predicted_OBP0.3280.008
predicted_R1.0000.370
predicted_RBI0.000-0.637
predicted_SLG0.4420.068
predicted_SO1.0000.383
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B2.0002.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.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: 153
Reference playing time: 5.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.0007.0001.0000.0000.0004.0005.0001.0002.0000.33330.36360.38100.33330.00000.19050.04760.0952
last_100.2010-40.0007.0001.0000.0000.0004.0007.0004.0006.0000.17500.25000.20000.17500.00000.10000.10000.1500
season0.60153-610.000180.00026.0001.00022.00085.00093.00056.00097.0000.29510.36070.44920.29510.03610.13930.09180.1590
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1620
predicted_3B0.0040
predicted_AB4.0220
predicted_AVG0.2774
predicted_BB0.3380
predicted_H1.1160
predicted_HBP0.0390
predicted_HR0.0890
predicted_OBP0.3377
predicted_R0.6930
predicted_RBI0.5670
predicted_SLG0.3866
predicted_SO0.5940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.16200.1665model_form_blend
predicted_3B0.00700.00400.0057model_form_blend
predicted_AB5.71004.02204.9712model_form_blend
predicted_AVG0.27500.27740.2761model_form_blend
predicted_BB0.36600.33800.3537model_form_blend
predicted_H1.57001.11601.3713model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.13000.08900.1121model_form_blend
predicted_OBP0.34500.33770.3418model_form_blend
predicted_R0.60800.69300.6452model_form_blend
predicted_RBI0.72000.56700.6530model_form_blend
predicted_SLG0.43800.38660.4155model_form_blend
predicted_SO0.63400.59400.6165model_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 date661
Season rows before report date661
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
H3
2B2
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_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R3
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
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
gameID20260926_TB@PHI
game_typefull
mlbID650490
playerID650490
playerNameYandy Díaz
posDH
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-09-26
sl_k_percent14.3
sl_bb_percent8.2
sl_woba0.35
sl_xwoba0.346
sl_xba0.281
sl_xslg0.439
sl_sweet_spot_percent29.7
sl_barrel_batted_rate7.1
sl_hard_hit_percent48.1
sl_exit_velocity_avg90.9
sl_launch_angle_avg6.0
sl_whiff_percent14.8
sl_swing_percent47.5
Jonny DeLuca (676356) · BATTER · CF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 348
All-history rows before 20261003: 348
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2791
Diff (system - data): -0.0101
System opponent_avg: 0.1810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2330.0001.000Hitting_2B0.2670.000-0.2670.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3594.0004.000Hitting_AB3.6754.0000.3250.000
predicted_AVG0.2690.0000.250Hitting_AVG0.2790.500-0.279-0.500
predicted_BB0.1650.0000.000Hitting_BB0.1780.000-0.1780.000
predicted_CS-0.0000.000BaseRunning_CS0.0550.000-0.0550.000
predicted_H0.9030.0001.000Hitting_H1.0262.000-1.026-2.000
predicted_HR0.1070.0000.000Hitting_HR0.1092.000-0.109-2.000
predicted_OBP0.3030.0000.250Hitting_OBP0.3120.500-0.312-0.500
predicted_R0.4170.0000.000Hitting_R0.4832.000-0.483-2.000
predicted_RBI0.4850.0000.000Hitting_RBI0.5632.000-0.563-2.000
predicted_SLG0.4340.0000.500Hitting_SLG0.4412.000-0.441-2.000
predicted_SO0.7571.0001.000Hitting_SO0.7610.0000.2391.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_AB: 3.3590 -> 4.0000 (boost 0.6410, better)
Biggest Deboostpredicted_H: 0.9030 -> 0.0000 (deboost -0.9030, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.9030 -> 0.9637 (boost 0.0607, 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_SLG: 0.4697 -> 0.4637 (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_scaling74334predicted_AB: 3.4193 -> 4.0000 (boost 0.5807, better)predicted_2B: 0.2347 -> 0.0000 (deboost -0.2347, worse)AB rounded to 4 (raw=3.42), rates preserved: AVG=0.278 HR/AB=0.039
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.4217 -> 0.0000 (deboost -0.4217, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_2B: 0.0000 -> 0.2072 (boost 0.2072, better)predicted_RBI: 1.0000 -> 0.5158 (deboost -0.4842, 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_allocation63324predicted_2B: 0.2072 -> 1.0000 (boost 0.7928, better)predicted_RBI: 0.5158 -> 0.0000 (deboost -0.5158, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context51414predicted_RBI: 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_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4230 -> 0.4637 (boost 0.0407, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676356",
  "player_name": "Jonny DeLuca",
  "position": "CF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.233,
        "predicted_3B": 0.0,
        "predicted_AB": 3.359,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.165,
        "predicted_H": 0.903,
        "predicted_HR": 0.107,
        "predicted_OBP": 0.303,
        "predicted_R": 0.417,
        "predicted_RBI": 0.485,
        "predicted_SLG": 0.434,
        "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.2347,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4193,
        "predicted_AVG": 0.2816,
        "predicted_BB": 0.2103,
        "predicted_H": 0.9637,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1365,
        "predicted_OBP": 0.3217,
        "predicted_R": 0.432,
        "predicted_RBI": 0.5175,
        "predicted_SLG": 0.4697,
        "predicted_SO": 0.7989
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.233,
          "after": 0.2347,
          "delta": 0.0017,
          "percent_delta": 0.0073,
          "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.359,
          "after": 3.4193,
          "delta": 0.0603,
          "percent_delta": 0.018,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2816,
          "delta": 0.0126,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.165,
          "after": 0.2103,
          "delta": 0.0453,
          "percent_delta": 0.2745,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.903,
          "after": 0.9637,
          "delta": 0.0607,
          "percent_delta": 0.0672,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.107,
          "after": 0.1365,
          "delta": 0.0295,
          "percent_delta": 0.2757,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3217,
          "delta": 0.0187,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.417,
          "after": 0.432,
          "delta": 0.015,
          "percent_delta": 0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.485,
          "after": 0.5175,
          "delta": 0.0325,
          "percent_delta": 0.067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.434,
          "after": 0.4697,
          "delta": 0.0357,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.757,
          "after": 0.7989,
          "delta": 0.0419,
          "percent_delta": 0.0554,
          "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.903,
          "after": 0.9637,
          "delta": 0.0607,
          "percent_delta": 0.0672,
          "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": 103
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2347,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4193,
        "predicted_AVG": 0.2774,
        "predicted_BB": 0.2103,
        "predicted_H": 0.9485,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1338,
        "predicted_OBP": 0.3193,
        "predicted_R": 0.4217,
        "predicted_RBI": 0.5051,
        "predicted_SLG": 0.4637,
        "predicted_SO": 0.7989
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2347,
          "after": 0.2347,
          "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.4193,
          "after": 3.4193,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2816,
          "after": 0.2774,
          "delta": -0.0042,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2103,
          "after": 0.2103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9637,
          "after": 0.9485,
          "delta": -0.0152,
          "percent_delta": -0.0158,
          "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.1365,
          "after": 0.1338,
          "delta": -0.0027,
          "percent_delta": -0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3217,
          "after": 0.3193,
          "delta": -0.0024,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.432,
          "after": 0.4217,
          "delta": -0.0103,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5175,
          "after": 0.5051,
          "delta": -0.0124,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4697,
          "after": 0.4637,
          "delta": -0.006,
          "percent_delta": -0.0128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7989,
          "after": 0.7989,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4697,
          "after": 0.4637,
          "delta": -0.006,
          "percent_delta": -0.0128,
          "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.42), rates preserved: AVG=0.278 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.2347,
          "after": 0.0,
          "delta": -0.2347,
          "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.4193,
          "after": 4.0,
          "delta": 0.5807,
          "percent_delta": 0.1698,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2103,
          "after": 0.0,
          "delta": -0.2103,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9485,
          "after": 1.0,
          "delta": 0.0515,
          "percent_delta": 0.0543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1338,
          "after": 0.0,
          "delta": -0.1338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5051,
          "after": 1.0,
          "delta": 0.4949,
          "percent_delta": 0.9798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7989,
          "after": 1.0,
          "delta": 0.2011,
          "percent_delta": 0.2517,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4193,
          "after": 4.0,
          "delta": 0.5807,
          "percent_delta": 0.1698,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2347,
          "after": 0.0,
          "delta": -0.2347,
          "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.143)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 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.4217,
          "after": 0.0,
          "delta": -0.4217,
          "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.4217,
          "after": 0.0,
          "delta": -0.4217,
          "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.2072,
        "predicted_3B": 0.0085,
        "predicted_BB": 0.1591,
        "predicted_H": 0.9324,
        "predicted_HR": 0.1232,
        "predicted_RBI": 0.5158,
        "predicted_SO": 0.9252
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2072,
          "delta": 0.2072,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0085,
          "delta": 0.0085,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1591,
          "delta": 0.1591,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9324,
          "delta": -0.0676,
          "percent_delta": -0.0676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1232,
          "delta": 0.1232,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5158,
          "delta": -0.4842,
          "percent_delta": -0.4842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9252,
          "delta": -0.0748,
          "percent_delta": -0.0748,
          "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": 0.2072,
          "delta": 0.2072,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5158,
          "delta": -0.4842,
          "percent_delta": -0.4842,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2072,
          "after": 1.0,
          "delta": 0.7928,
          "percent_delta": 3.8263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0085,
          "after": 0.0,
          "delta": -0.0085,
          "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.1591,
          "after": 0.0,
          "delta": -0.1591,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9324,
          "after": 1.0,
          "delta": 0.0676,
          "percent_delta": 0.0725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1232,
          "after": 0.0,
          "delta": -0.1232,
          "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.5158,
          "after": 0.0,
          "delta": -0.5158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9252,
          "after": 1.0,
          "delta": 0.0748,
          "percent_delta": 0.0808,
          "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.2072,
          "after": 1.0,
          "delta": 0.7928,
          "percent_delta": 3.8263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5158,
          "after": 0.0,
          "delta": -0.5158,
          "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.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.423,
        "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.2774,
          "after": 0.259,
          "delta": -0.0184,
          "percent_delta": -0.0663,
          "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.3193,
          "after": 0.296,
          "delta": -0.0233,
          "percent_delta": -0.073,
          "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.4637,
          "after": 0.423,
          "delta": -0.0407,
          "percent_delta": -0.0878,
          "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_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": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2774,
        "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.3193,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4637,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2774,
          "delta": 0.0184,
          "percent_delta": 0.071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.3193,
          "delta": 0.0233,
          "percent_delta": 0.0786,
          "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.423,
          "after": 0.4637,
          "delta": 0.0407,
          "percent_delta": 0.0961,
          "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.423,
          "after": 0.4637,
          "delta": 0.0407,
          "percent_delta": 0.0961,
          "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.233,
        "after": 0.0,
        "delta": -0.233,
        "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.359,
        "after": 4.0,
        "delta": 0.641,
        "percent_delta": 0.1908,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2774,
        "delta": 0.0084,
        "percent_delta": 0.0312,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.165,
        "after": 0.0,
        "delta": -0.165,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.903,
        "after": 0.0,
        "delta": -0.903,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.107,
        "after": 0.0,
        "delta": -0.107,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.3193,
        "delta": 0.0163,
        "percent_delta": 0.0538,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.417,
        "after": 0.0,
        "delta": -0.417,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.485,
        "after": 0.0,
        "delta": -0.485,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.434,
        "after": 0.4637,
        "delta": 0.0297,
        "percent_delta": 0.0684,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.757,
        "after": 1.0,
        "delta": 0.243,
        "percent_delta": 0.321,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.359,
        "after": 4.0,
        "delta": 0.641,
        "percent_delta": 0.1908,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.903,
        "after": 0.0,
        "delta": -0.903,
        "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.000-
predicted_AB3.359-
predicted_AVG0.269-
predicted_BB0.165-
predicted_H0.903-
predicted_HR0.107-
predicted_OBP0.303-
predicted_R0.417-
predicted_RBI0.485-
predicted_SLG0.434-
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.2350.002
predicted_3B0.0000.000
predicted_AB3.4190.060
predicted_AVG0.2820.013
predicted_BB0.2100.045
predicted_H0.9640.061
predicted_HBP0.002-
predicted_HR0.1370.030
predicted_OBP0.3220.019
predicted_R0.4320.015
predicted_RBI0.5170.032
predicted_SLG0.4700.036
predicted_SO0.7990.042
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.2350.000
predicted_3B0.0000.000
predicted_AB3.4190.000
predicted_AVG0.277-0.004
predicted_BB0.2100.000
predicted_H0.949-0.015
predicted_HBP0.0020.000
predicted_HR0.134-0.003
predicted_OBP0.319-0.002
predicted_R0.422-0.010
predicted_RBI0.505-0.012
predicted_SLG0.464-0.006
predicted_SO0.7990.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 4 (raw=3.42), rates preserved: AVG=0.278 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=7.0, weight=0.076, BvP AVG=0.143)

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.2070.207
3B0.0090.009
BB0.1590.159
H0.932-0.068
HR0.1230.123
RBI0.516-0.484
SO0.925-0.075
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.793
3B0.000-0.009
AB4.0000.000
BB0.000-0.159
H1.0000.068
HR0.000-0.123
R0.0000.000
RBI0.000-0.516
SO1.0000.075
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.235
predicted_3B0.000-0.000
predicted_AB4.0000.581
predicted_AVG0.259-0.018
predicted_BB0.000-0.210
predicted_H1.0000.051
predicted_HR0.000-0.134
predicted_OBP0.296-0.023
predicted_R0.000-0.422
predicted_RBI1.0000.495
predicted_SLG0.423-0.041
predicted_SO1.0000.201
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.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: 103
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.0008.0001.0000.0002.0004.0003.0003.0004.0000.42110.50000.78950.42100.10530.21050.15790.2105
last_100.2010-35.00010.0003.0000.0002.0006.0004.0003.00012.0000.28570.34210.54290.28570.05710.17140.08570.3429
season0.60103-346.00093.00024.0000.00011.00050.00043.00017.00078.0000.26880.30300.43350.26880.03180.14450.04910.2254
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2370
predicted_3B0.0010
predicted_AB3.5000
predicted_AVG0.2985
predicted_BB0.2710
predicted_H1.0450
predicted_HBP0.0020
predicted_HR0.1760
predicted_OBP0.3468
predicted_R0.4520
predicted_RBI0.5610
predicted_SLG0.5175
predicted_SO0.8550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23300.23700.2347model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.35903.50003.4193model_form_blend
predicted_AVG0.26900.29850.2816model_form_blend
predicted_BB0.16500.27100.2103model_form_blend
predicted_H0.90301.04500.9637model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.10700.17600.1365model_form_blend
predicted_OBP0.30300.34680.3217model_form_blend
predicted_R0.41700.45200.4320model_form_blend
predicted_RBI0.48500.56100.5175model_form_blend
predicted_SLG0.43400.51750.4697model_form_blend
predicted_SO0.75700.85500.7989model_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 date348
Season rows before report date348
Report year2026
Profile rows used103
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_HBP0
Hitting_HR2
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB8
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_TB@PHI
game_typefull
mlbID676356
playerID676356
playerNameJonny DeLuca
posRF
startedTrue
startingPositionRF
teamTB
teamID27
game_date2026-09-27
sl_k_percent21.1
sl_bb_percent4.6
sl_woba0.317
sl_xwoba0.261
sl_xba0.232
sl_xslg0.325
sl_sweet_spot_percent28.7
sl_barrel_batted_rate3.6
sl_hard_hit_percent30.2
sl_exit_velocity_avg85.8
sl_launch_angle_avg13.9
sl_whiff_percent24.9
sl_swing_percent52.9
Junior Caminero (691406) · BATTER · 3B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 672
All-history rows before 20261003: 672
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2844
Diff (system - data): -0.0084
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.1550.0000.000Hitting_2B0.1620.000-0.1620.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.8013.0004.000Hitting_AB3.8932.000-0.8931.000
predicted_AVG0.2680.0000.250Hitting_AVG0.2840.000-0.2840.000
predicted_BB0.4911.0001.000Hitting_BB0.5340.0000.4661.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.9700.0001.000Hitting_H1.1070.000-1.1070.000
predicted_HR0.2100.0001.000Hitting_HR0.2780.000-0.2780.000
predicted_OBP0.3340.2500.400Hitting_OBP0.3730.000-0.1230.250
predicted_R0.6210.0001.000Hitting_R0.6710.000-0.6710.000
predicted_RBI0.6500.0001.000Hitting_RBI0.6740.000-0.6740.000
predicted_SLG0.5030.0001.000Hitting_SLG0.5440.000-0.5440.000
predicted_SO0.7950.0001.000Hitting_SO0.7891.000-0.789-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_BB: 0.4910 -> 1.0000 (boost 0.5090, better)
Biggest Deboostpredicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_OBP: 0.3340 -> 0.3404 (boost 0.0064, better)predicted_AB: 3.8010 -> 3.7252 (deboost -0.0758, 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.4982 -> 0.4690 (deboost -0.0292, 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.6289 -> 1.0000 (boost 0.3711, better)predicted_BB: 0.4437 -> 0.0000 (deboost -0.4437, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.256 HR/AB=0.054
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.6203 -> 1.0000 (boost 0.3797, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3100 (boost 0.3100, better)predicted_RBI: 1.0000 -> 0.5305 (deboost -0.4695, 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.2144 -> 1.0000 (boost 0.7856, better)predicted_2B: 0.1506 -> 0.0000 (deboost -0.1506, worse)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_reference61524predicted_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_final22020predicted_OBP: 0.3130 -> 0.3396 (boost 0.0266, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691406",
  "player_name": "Junior Caminero",
  "position": "3B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.155,
        "predicted_3B": 0.006,
        "predicted_AB": 3.801,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.491,
        "predicted_H": 0.97,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.334,
        "predicted_R": 0.621,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.503,
        "predicted_SO": 0.795
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1449,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7252,
        "predicted_AVG": 0.2725,
        "predicted_BB": 0.4437,
        "predicted_H": 0.9875,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2109,
        "predicted_OBP": 0.3404,
        "predicted_R": 0.6355,
        "predicted_RBI": 0.6443,
        "predicted_SLG": 0.4982,
        "predicted_SO": 0.7709
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.155,
          "after": 0.1449,
          "delta": -0.0101,
          "percent_delta": -0.0652,
          "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.801,
          "after": 3.7252,
          "delta": -0.0758,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2725,
          "delta": 0.0045,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.491,
          "after": 0.4437,
          "delta": -0.0473,
          "percent_delta": -0.0963,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9875,
          "delta": 0.0175,
          "percent_delta": 0.018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.2109,
          "delta": 0.0009,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.3404,
          "delta": 0.0064,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.621,
          "after": 0.6355,
          "delta": 0.0145,
          "percent_delta": 0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.65,
          "after": 0.6443,
          "delta": -0.0057,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.503,
          "after": 0.4982,
          "delta": -0.0048,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.795,
          "after": 0.7709,
          "delta": -0.0241,
          "percent_delta": -0.0303,
          "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.334,
          "after": 0.3404,
          "delta": 0.0064,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.801,
          "after": 3.7252,
          "delta": -0.0758,
          "percent_delta": -0.0199,
          "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.1449,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7252,
        "predicted_AVG": 0.2609,
        "predicted_BB": 0.4437,
        "predicted_H": 0.9719,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2067,
        "predicted_OBP": 0.3396,
        "predicted_R": 0.6203,
        "predicted_RBI": 0.6289,
        "predicted_SLG": 0.469,
        "predicted_SO": 0.7709
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1449,
          "after": 0.1449,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7252,
          "after": 3.7252,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2725,
          "after": 0.2609,
          "delta": -0.0116,
          "percent_delta": -0.0426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4437,
          "after": 0.4437,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9875,
          "after": 0.9719,
          "delta": -0.0156,
          "percent_delta": -0.0158,
          "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.2109,
          "after": 0.2067,
          "delta": -0.0042,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3404,
          "after": 0.3396,
          "delta": -0.0008,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6355,
          "after": 0.6203,
          "delta": -0.0152,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6443,
          "after": 0.6289,
          "delta": -0.0154,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4982,
          "after": 0.469,
          "delta": -0.0292,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7709,
          "after": 0.7709,
          "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.4982,
          "after": 0.469,
          "delta": -0.0292,
          "percent_delta": -0.0586,
          "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.256 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.1449,
          "after": 0.0,
          "delta": -0.1449,
          "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.7252,
          "after": 4.0,
          "delta": 0.2748,
          "percent_delta": 0.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4437,
          "after": 0.0,
          "delta": -0.4437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9719,
          "after": 1.0,
          "delta": 0.0281,
          "percent_delta": 0.0289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2067,
          "after": 0.0,
          "delta": -0.2067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6289,
          "after": 1.0,
          "delta": 0.3711,
          "percent_delta": 0.5901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7709,
          "after": 1.0,
          "delta": 0.2291,
          "percent_delta": 0.2972,
          "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.6289,
          "after": 1.0,
          "delta": 0.3711,
          "percent_delta": 0.5901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4437,
          "after": 0.0,
          "delta": -0.4437,
          "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": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 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.6203,
          "after": 1.0,
          "delta": 0.3797,
          "percent_delta": 0.6121,
          "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.6203,
          "after": 1.0,
          "delta": 0.3797,
          "percent_delta": 0.6121,
          "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.1506,
        "predicted_3B": 0.0088,
        "predicted_BB": 0.31,
        "predicted_H": 0.912,
        "predicted_HR": 0.2144,
        "predicted_RBI": 0.5305,
        "predicted_SO": 0.7881
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1506,
          "delta": 0.1506,
          "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.31,
          "delta": 0.31,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.912,
          "delta": -0.088,
          "percent_delta": -0.088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2144,
          "delta": 0.2144,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5305,
          "delta": -0.4695,
          "percent_delta": -0.4695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7881,
          "delta": -0.2119,
          "percent_delta": -0.2119,
          "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.31,
          "delta": 0.31,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5305,
          "delta": -0.4695,
          "percent_delta": -0.4695,
          "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.1506,
          "after": 0.0,
          "delta": -0.1506,
          "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.31,
          "after": 1.0,
          "delta": 0.69,
          "percent_delta": 2.2258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.912,
          "after": 1.0,
          "delta": 0.088,
          "percent_delta": 0.0965,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2144,
          "after": 1.0,
          "delta": 0.7856,
          "percent_delta": 3.6642,
          "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.5305,
          "after": 1.0,
          "delta": 0.4695,
          "percent_delta": 0.885,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7881,
          "after": 1.0,
          "delta": 0.2119,
          "percent_delta": 0.2689,
          "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.2144,
          "after": 1.0,
          "delta": 0.7856,
          "percent_delta": 3.6642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1506,
          "after": 0.0,
          "delta": -0.1506,
          "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.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.47,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2609,
          "after": 0.248,
          "delta": -0.0129,
          "percent_delta": -0.0494,
          "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.3396,
          "after": 0.313,
          "delta": -0.0266,
          "percent_delta": -0.0783,
          "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.469,
          "after": 0.47,
          "delta": 0.001,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2609,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3396,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.469,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2609,
          "delta": 0.0129,
          "percent_delta": 0.052,
          "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.313,
          "after": 0.3396,
          "delta": 0.0266,
          "percent_delta": 0.0849,
          "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.47,
          "after": 0.469,
          "delta": -0.001,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3396,
          "delta": 0.0266,
          "percent_delta": 0.0849,
          "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.155,
        "after": 0.0,
        "delta": -0.155,
        "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.801,
        "after": 3.0,
        "delta": -0.801,
        "percent_delta": -0.2107,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.268,
        "after": 0.2609,
        "delta": -0.0071,
        "percent_delta": -0.0265,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.491,
        "after": 1.0,
        "delta": 0.509,
        "percent_delta": 1.0367,
        "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.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.334,
        "after": 0.3396,
        "delta": 0.0056,
        "percent_delta": 0.0168,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.621,
        "after": 0.0,
        "delta": -0.621,
        "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.503,
        "after": 0.469,
        "delta": -0.034,
        "percent_delta": -0.0676,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.795,
        "after": 0.0,
        "delta": -0.795,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.491,
        "after": 1.0,
        "delta": 0.509,
        "percent_delta": 1.0367,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "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.155-
predicted_3B0.006-
predicted_AB3.801-
predicted_AVG0.268-
predicted_BB0.491-
predicted_H0.970-
predicted_HR0.210-
predicted_OBP0.334-
predicted_R0.621-
predicted_RBI0.650-
predicted_SLG0.503-
predicted_SO0.795-
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.145-0.010
predicted_3B0.005-0.001
predicted_AB3.725-0.076
predicted_AVG0.2730.005
predicted_BB0.444-0.047
predicted_H0.9880.018
predicted_HBP0.015-
predicted_HR0.2110.001
predicted_OBP0.3400.006
predicted_R0.6350.014
predicted_RBI0.644-0.006
predicted_SLG0.498-0.005
predicted_SO0.771-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.1450.000
predicted_3B0.0050.000
predicted_AB3.7250.000
predicted_AVG0.261-0.012
predicted_BB0.4440.000
predicted_H0.972-0.016
predicted_HBP0.0150.000
predicted_HR0.207-0.004
predicted_OBP0.340-0.001
predicted_R0.620-0.015
predicted_RBI0.629-0.015
predicted_SLG0.469-0.029
predicted_SO0.7710.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 4 (raw=3.80), rates preserved: AVG=0.256 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=7.0, weight=0.076, BvP AVG=0.000)

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.1510.151
3B0.0090.009
BB0.3100.310
H0.912-0.088
HR0.2140.214
RBI0.530-0.470
SO0.788-0.212
9. 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.009
AB4.0000.000
BB1.0000.690
H1.0000.088
HR1.0000.786
R1.0000.000
RBI1.0000.470
SO1.0000.212
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.145
predicted_3B0.000-0.005
predicted_AB4.0000.275
predicted_AVG0.248-0.013
predicted_BB0.000-0.444
predicted_H1.0000.028
predicted_HR0.000-0.207
predicted_OBP0.313-0.027
predicted_R1.0000.380
predicted_RBI1.0000.371
predicted_SLG0.4700.001
predicted_SO1.0000.229
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.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
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.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.0005.0000.0000.0001.0004.0004.0001.0003.0000.31250.35290.50000.31250.06250.25000.06250.1875
last_100.2010-35.0009.0002.0000.0001.0005.0006.0003.0007.0000.25710.31580.40000.25710.02860.14290.08570.2000
season0.60161-612.000169.00025.0001.00042.000101.000100.00079.000128.0000.27610.36100.52610.27610.06860.16500.12910.2092
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1320
predicted_3B0.0040
predicted_AB3.6280
predicted_AVG0.2783
predicted_BB0.3830
predicted_H1.0100
predicted_HBP0.0150
predicted_HR0.2120
predicted_OBP0.3485
predicted_R0.6540
predicted_RBI0.6370
predicted_SLG0.4920
predicted_SO0.7400
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15500.13200.1449model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.80103.62803.7252model_form_blend
predicted_AVG0.26800.27830.2725model_form_blend
predicted_BB0.49100.38300.4437model_form_blend
predicted_H0.97001.01000.9875model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.21000.21200.2109model_form_blend
predicted_OBP0.33400.34850.3404model_form_blend
predicted_R0.62100.65400.6355model_form_blend
predicted_RBI0.65000.63700.6443model_form_blend
predicted_SLG0.50300.49200.4982model_form_blend
predicted_SO0.79500.74000.7709model_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 date672
Season rows before report date672
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
AB3
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_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
allPositionsPlayed3B
gameID20260927_TB@PHI
game_typefull
mlbID691406
playerID691406
playerNameJunior Caminero
pos3B
startedTrue
startingPosition3B
teamTB
teamID27
game_date2026-09-27
sl_k_percent18.4
sl_bb_percent11.3
sl_woba0.375
sl_xwoba0.364
sl_xba0.273
sl_xslg0.499
sl_sweet_spot_percent27.1
sl_barrel_batted_rate13.1
sl_hard_hit_percent49.7
sl_exit_velocity_avg92.7
sl_launch_angle_avg10.4
sl_whiff_percent24.1
sl_swing_percent44.4
Chandler Simpson (802415) · BATTER · LF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 593
All-history rows before 20261003: 593
System season_avg: 0.3060
Data season_avg (2026 season-to-date): 0.3069
Diff (system - data): -0.0009
System opponent_avg: 0.3220

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1090.0000.000Hitting_2B0.1150.000-0.1150.000
predicted_3B0.0410.0000.000Hitting_3B0.0350.000-0.0350.000
predicted_AB4.5704.0004.000Hitting_AB3.9783.0000.0221.000
predicted_AVG0.2750.5000.250Hitting_AVG0.3070.0000.1930.500
predicted_BB0.1700.0000.000Hitting_BB0.1920.000-0.1920.000
predicted_CS-0.0000.000BaseRunning_CS0.1030.000-0.1030.000
predicted_H1.2602.0001.000Hitting_H1.2210.0000.7792.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2950.5000.250Hitting_OBP0.3350.0000.1650.500
predicted_R0.4421.0000.000Hitting_R0.4540.0000.5461.000
predicted_RBI0.3700.0000.000Hitting_RBI0.2630.000-0.2630.000
predicted_SLG0.3330.5000.250Hitting_SLG0.3540.0000.1460.500
predicted_SO0.3270.0000.000Hitting_SO0.3421.000-0.342-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_H: 1.2600 -> 2.0000 (boost 0.7400, better)
Biggest Deboostpredicted_AB: 4.5700 -> 4.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_blend42222predicted_AVG: 0.2750 -> 0.2828 (boost 0.0078, better)predicted_AB: 4.5700 -> 4.2468 (deboost -0.3232, 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.3352 -> 0.3210 (deboost -0.0142, 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_RBI: 0.3496 -> 0.0000 (deboost -0.3496, worse)AB rounded to 4 (raw=4.57), rates preserved: AVG=0.259 HR/AB=0.001
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
7consistency_constraints10101-predicted_R: 0.4085 -> 0.0000 (deboost -0.4085, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_SO: 0.0000 -> 0.3819 (boost 0.3819, 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_allocation50514-predicted_SO: 0.3819 -> 0.0000 (deboost -0.3819, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.3210 -> 0.3750 (boost 0.0540, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22020predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3750 -> 0.3210 (deboost -0.0540, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "802415",
  "player_name": "Chandler Simpson",
  "position": "LF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.109,
        "predicted_3B": 0.041,
        "predicted_AB": 4.57,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.17,
        "predicted_H": 1.26,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.295,
        "predicted_R": 0.442,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.333,
        "predicted_SO": 0.327
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1081,
        "predicted_3B": 0.0336,
        "predicted_AB": 4.2468,
        "predicted_AVG": 0.2828,
        "predicted_BB": 0.143,
        "predicted_H": 1.1994,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0026,
        "predicted_OBP": 0.3016,
        "predicted_R": 0.4185,
        "predicted_RBI": 0.3582,
        "predicted_SLG": 0.3352,
        "predicted_SO": 0.334
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.109,
          "after": 0.1081,
          "delta": -0.0009,
          "percent_delta": -0.0083,
          "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": 4.57,
          "after": 4.2468,
          "delta": -0.3232,
          "percent_delta": -0.0707,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2828,
          "delta": 0.0078,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.17,
          "after": 0.143,
          "delta": -0.027,
          "percent_delta": -0.1588,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.26,
          "after": 1.1994,
          "delta": -0.0606,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0026,
          "delta": 0.0026,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.3016,
          "delta": 0.0066,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.442,
          "after": 0.4185,
          "delta": -0.0235,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3582,
          "delta": -0.0118,
          "percent_delta": -0.0319,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3352,
          "delta": 0.0022,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.327,
          "after": 0.334,
          "delta": 0.007,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2828,
          "delta": 0.0078,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.57,
          "after": 4.2468,
          "delta": -0.3232,
          "percent_delta": -0.0707,
          "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.1081,
        "predicted_3B": 0.0336,
        "predicted_AB": 4.2468,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.143,
        "predicted_H": 1.1804,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0025,
        "predicted_OBP": 0.3015,
        "predicted_R": 0.4085,
        "predicted_RBI": 0.3496,
        "predicted_SLG": 0.321,
        "predicted_SO": 0.334
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1081,
          "after": 0.1081,
          "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": 4.2468,
          "after": 4.2468,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2828,
          "after": 0.278,
          "delta": -0.0048,
          "percent_delta": -0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.143,
          "after": 0.143,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1994,
          "after": 1.1804,
          "delta": -0.019,
          "percent_delta": -0.0158,
          "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.0026,
          "after": 0.0025,
          "delta": -0.0001,
          "percent_delta": -0.0385,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3016,
          "after": 0.3015,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4185,
          "after": 0.4085,
          "delta": -0.01,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3582,
          "after": 0.3496,
          "delta": -0.0086,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3352,
          "after": 0.321,
          "delta": -0.0142,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.334,
          "after": 0.334,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3352,
          "after": 0.321,
          "delta": -0.0142,
          "percent_delta": -0.0424,
          "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.57), rates preserved: AVG=0.259 HR/AB=0.001",
      "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.1081,
          "after": 0.0,
          "delta": -0.1081,
          "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": 4.2468,
          "after": 4.0,
          "delta": -0.2468,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.143,
          "after": 0.0,
          "delta": -0.143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1804,
          "after": 1.0,
          "delta": -0.1804,
          "percent_delta": -0.1528,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0025,
          "after": 0.0,
          "delta": -0.0025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3496,
          "after": 0.0,
          "delta": -0.3496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.334,
          "after": 0.0,
          "delta": -0.334,
          "percent_delta": -1.0,
          "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_RBI",
          "before": 0.3496,
          "after": 0.0,
          "delta": -0.3496,
          "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.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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.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": 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.4085,
          "after": 0.0,
          "delta": -0.4085,
          "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.4085,
          "after": 0.0,
          "delta": -0.4085,
          "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.1536,
        "predicted_3B": 0.0214,
        "predicted_BB": 0.1559,
        "predicted_H": 1.1166,
        "predicted_HR": 0.0397,
        "predicted_RBI": 0.3046,
        "predicted_SO": 0.3819
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1536,
          "delta": 0.1536,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0214,
          "delta": 0.0214,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1559,
          "delta": 0.1559,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1166,
          "delta": 0.1166,
          "percent_delta": 0.1166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0397,
          "delta": 0.0397,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3046,
          "delta": 0.3046,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3819,
          "delta": 0.3819,
          "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.3819,
          "delta": 0.3819,
          "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": 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.1536,
          "after": 0.0,
          "delta": -0.1536,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0214,
          "after": 0.0,
          "delta": -0.0214,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1559,
          "after": 0.0,
          "delta": -0.1559,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1166,
          "after": 1.0,
          "delta": -0.1166,
          "percent_delta": -0.1044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0397,
          "after": 0.0,
          "delta": -0.0397,
          "percent_delta": -1.0,
          "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.3046,
          "after": 0.0,
          "delta": -0.3046,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3819,
          "after": 0.0,
          "delta": -0.3819,
          "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_SO",
          "before": 0.3819,
          "after": 0.0,
          "delta": -0.3819,
          "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.292,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.375,
        "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.278,
          "after": 0.292,
          "delta": 0.014,
          "percent_delta": 0.0504,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3015,
          "after": 0.326,
          "delta": 0.0245,
          "percent_delta": 0.0813,
          "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.321,
          "after": 0.375,
          "delta": 0.054,
          "percent_delta": 0.1682,
          "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.321,
          "after": 0.375,
          "delta": 0.054,
          "percent_delta": 0.1682,
          "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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_H",
          "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": {}
    },
    {
      "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.278,
        "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.3015,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.321,
        "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.292,
          "after": 0.278,
          "delta": -0.014,
          "percent_delta": -0.0481,
          "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.326,
          "after": 0.3015,
          "delta": -0.0245,
          "percent_delta": -0.0752,
          "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.375,
          "after": 0.321,
          "delta": -0.054,
          "percent_delta": -0.1439,
          "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.375,
          "after": 0.321,
          "delta": -0.054,
          "percent_delta": -0.1439,
          "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.109,
        "after": 0.0,
        "delta": -0.109,
        "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": 4.57,
        "after": 4.0,
        "delta": -0.57,
        "percent_delta": -0.1247,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.278,
        "delta": 0.003,
        "percent_delta": 0.0109,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 2.0,
        "delta": 0.74,
        "percent_delta": 0.5873,
        "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.295,
        "after": 0.3015,
        "delta": 0.0065,
        "percent_delta": 0.022,
        "direction": "boost",
        "projection_effect": "better",
        "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.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.333,
        "after": 0.321,
        "delta": -0.012,
        "percent_delta": -0.036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.327,
        "after": 0.0,
        "delta": -0.327,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 2.0,
        "delta": 0.74,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.57,
        "after": 4.0,
        "delta": -0.57,
        "percent_delta": -0.1247,
        "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.109-
predicted_3B0.041-
predicted_AB4.570-
predicted_AVG0.275-
predicted_BB0.170-
predicted_H1.260-
predicted_HR0.000-
predicted_OBP0.295-
predicted_R0.442-
predicted_RBI0.370-
predicted_SLG0.333-
predicted_SO0.327-
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.108-0.001
predicted_3B0.034-0.007
predicted_AB4.247-0.323
predicted_AVG0.2830.008
predicted_BB0.143-0.027
predicted_H1.199-0.061
predicted_HBP0.002-
predicted_HR0.0030.003
predicted_OBP0.3020.007
predicted_R0.418-0.024
predicted_RBI0.358-0.012
predicted_SLG0.3350.002
predicted_SO0.3340.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.1080.000
predicted_3B0.0340.000
predicted_AB4.2470.000
predicted_AVG0.278-0.005
predicted_BB0.1430.000
predicted_H1.180-0.019
predicted_HBP0.0020.000
predicted_HR0.003-0.000
predicted_OBP0.301-0.000
predicted_R0.408-0.010
predicted_RBI0.350-0.009
predicted_SLG0.321-0.014
predicted_SO0.3340.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 4 (raw=4.57), rates preserved: AVG=0.259 HR/AB=0.001

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=6.0, weight=0.067, BvP AVG=0.333)

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.1540.154
3B0.0210.021
BB0.1560.156
H1.1170.117
HR0.0400.040
RBI0.3050.305
SO0.3820.382
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.021
AB4.0000.000
BB0.000-0.156
H1.000-0.117
HR0.000-0.040
R0.0000.000
RBI0.000-0.305
SO0.000-0.382
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.108
predicted_3B0.000-0.034
predicted_AB4.000-0.247
predicted_AVG0.2920.014
predicted_BB0.000-0.143
predicted_H1.000-0.180
predicted_HR0.000-0.003
predicted_OBP0.3260.025
predicted_R0.000-0.408
predicted_RBI0.000-0.350
predicted_SLG0.3750.054
predicted_SO0.000-0.334
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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.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: 147
Reference playing time: 4.570
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.0002.0001.0000.0002.0000.22220.22220.22220.22220.00000.11110.00000.1111
last_100.2010-39.00013.0002.0000.0000.0005.0004.0000.0002.0000.33330.33330.38460.33330.00000.12820.00000.0513
season0.60147-571.000175.00016.0006.0000.00038.00065.00025.00048.0000.30650.33220.35550.30650.00000.06650.04380.0841
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1070
predicted_3B0.0240
predicted_AB3.8290
predicted_AVG0.2928
predicted_BB0.1080
predicted_H1.1210
predicted_HBP0.0020
predicted_HR0.0060
predicted_OBP0.3102
predicted_R0.3880
predicted_RBI0.3430
predicted_SLG0.3381
predicted_SO0.3430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10900.10700.1081model_form_blend
predicted_3B0.04100.02400.0336model_form_blend
predicted_AB4.57003.82904.2468model_form_blend
predicted_AVG0.27500.29280.2828model_form_blend
predicted_BB0.17000.10800.1430model_form_blend
predicted_H1.26001.12101.1994model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.00000.00600.0026model_form_blend
predicted_OBP0.29500.31020.3016model_form_blend
predicted_R0.44200.38800.4185model_form_blend
predicted_RBI0.37000.34300.3582model_form_blend
predicted_SLG0.33300.33810.3352model_form_blend
predicted_SO0.32700.34300.3340model_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 date593
Season rows before report date593
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
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_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
allPositionsPlayedLF
gameID20260925_TB@PHI
game_typefull
mlbID802415
playerID802415
playerNameChandler Simpson
posLF
startedTrue
startingPositionLF
teamTB
teamID27
game_date2026-09-25
sl_k_percent7.8
sl_bb_percent4.2
sl_woba0.305
sl_xwoba0.263
sl_xba0.261
sl_xslg0.297
sl_sweet_spot_percent25.7
sl_barrel_batted_rate0.0
sl_hard_hit_percent13.4
sl_exit_velocity_avg83.6
sl_launch_angle_avg1.2
sl_whiff_percent10.8
sl_swing_percent48.5
Richie Palacios (680700) · BATTER · 2B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 384
All-history rows before 20261003: 384
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2448
Diff (system - data): -0.0098
System opponent_avg: 0.2470

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1191.0000.000Hitting_2B0.1280.0000.8721.000
predicted_3B0.0170.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB2.9244.0003.000Hitting_AB3.1594.0000.8410.000
predicted_AVG0.2460.5000.333Hitting_AVG0.2450.0000.2550.500
predicted_BB0.3900.0000.000Hitting_BB0.4660.000-0.4660.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.6802.0001.000Hitting_H0.7730.0001.2272.000
predicted_HR0.1000.0000.000Hitting_HR0.1020.000-0.1020.000
predicted_OBP0.3230.5000.333Hitting_OBP0.3470.0000.1530.500
predicted_R0.4071.0000.000Hitting_R0.4970.0000.5031.000
predicted_RBI0.5302.0000.000Hitting_RBI0.5180.0001.4822.000
predicted_SB-0.0000.000BaseRunning_SB0.1430.000-0.1430.000
predicted_SLG0.3650.7500.333Hitting_SLG0.3970.0000.3530.750
predicted_SO0.5761.0001.000Hitting_SO0.6280.0000.3721.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_RBI: 0.5300 -> 2.0000 (boost 1.4700, better)
Biggest Deboostpredicted_BB: 0.3900 -> 0.0000 (deboost -0.3900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AB: 2.9240 -> 2.9785 (boost 0.0545, 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.3697 -> 0.3770 (boost 0.0073, better)predicted_AVG: 0.2454 -> 0.2340 (deboost -0.0114, 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.5630 -> 1.0000 (boost 0.4370, better)predicted_BB: 0.3891 -> 0.0000 (deboost -0.3891, worse)AB rounded to 3 (raw=2.98), rates preserved: AVG=0.234 HR/AB=0.030
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints10101-predicted_R: 0.3616 -> 0.0000 (deboost -0.3616, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2848 (boost 0.2848, better)predicted_RBI: 1.0000 -> 0.4310 (deboost -0.5690, 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.6672 -> 1.0000 (boost 0.3328, worse)predicted_RBI: 0.4310 -> 0.0000 (deboost -0.4310, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3225 -> 0.3090 (deboost -0.0135, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference55050predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_OBP: 0.3090 -> 0.3225 (boost 0.0135, better)predicted_AVG: 0.2410 -> 0.2340 (deboost -0.0070, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680700",
  "player_name": "Richie Palacios",
  "position": "2B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.017,
        "predicted_AB": 2.924,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.39,
        "predicted_H": 0.68,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.323,
        "predicted_R": 0.407,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.365,
        "predicted_SO": 0.576
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1332,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9785,
        "predicted_AVG": 0.2454,
        "predicted_BB": 0.3891,
        "predicted_H": 0.7083,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.0897,
        "predicted_OBP": 0.3274,
        "predicted_R": 0.3705,
        "predicted_RBI": 0.5768,
        "predicted_SLG": 0.3697,
        "predicted_SO": 0.5794
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1332,
          "delta": 0.0142,
          "percent_delta": 0.1193,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.0144,
          "delta": -0.0026,
          "percent_delta": -0.1529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.924,
          "after": 2.9785,
          "delta": 0.0545,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2454,
          "delta": -0.0006,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 0.3891,
          "delta": -0.0009,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 0.7083,
          "delta": 0.0283,
          "percent_delta": 0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0897,
          "delta": -0.0103,
          "percent_delta": -0.103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3274,
          "delta": 0.0044,
          "percent_delta": 0.0136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.407,
          "after": 0.3705,
          "delta": -0.0365,
          "percent_delta": -0.0897,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.5768,
          "delta": 0.0468,
          "percent_delta": 0.0883,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.365,
          "after": 0.3697,
          "delta": 0.0047,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.576,
          "after": 0.5794,
          "delta": 0.0034,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.924,
          "after": 2.9785,
          "delta": 0.0545,
          "percent_delta": 0.0186,
          "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": 118
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1332,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9785,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.3891,
        "predicted_H": 0.6971,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.0879,
        "predicted_OBP": 0.3225,
        "predicted_R": 0.3616,
        "predicted_RBI": 0.563,
        "predicted_SLG": 0.377,
        "predicted_SO": 0.5794
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1332,
          "after": 0.1332,
          "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": 2.9785,
          "after": 2.9785,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2454,
          "after": 0.234,
          "delta": -0.0114,
          "percent_delta": -0.0465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3891,
          "after": 0.3891,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7083,
          "after": 0.6971,
          "delta": -0.0112,
          "percent_delta": -0.0158,
          "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.0897,
          "after": 0.0879,
          "delta": -0.0018,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3274,
          "after": 0.3225,
          "delta": -0.0049,
          "percent_delta": -0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3705,
          "after": 0.3616,
          "delta": -0.0089,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5768,
          "after": 0.563,
          "delta": -0.0138,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3697,
          "after": 0.377,
          "delta": 0.0073,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5794,
          "after": 0.5794,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3697,
          "after": 0.377,
          "delta": 0.0073,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2454,
          "after": 0.234,
          "delta": -0.0114,
          "percent_delta": -0.0465,
          "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.98), rates preserved: AVG=0.234 HR/AB=0.030",
      "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.1332,
          "after": 0.0,
          "delta": -0.1332,
          "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": 2.9785,
          "after": 3.0,
          "delta": 0.0215,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3891,
          "after": 0.0,
          "delta": -0.3891,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6971,
          "after": 1.0,
          "delta": 0.3029,
          "percent_delta": 0.4345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.022,
          "after": 0.0,
          "delta": -0.022,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0879,
          "after": 0.0,
          "delta": -0.0879,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.563,
          "after": 1.0,
          "delta": 0.437,
          "percent_delta": 0.7762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5794,
          "after": 1.0,
          "delta": 0.4206,
          "percent_delta": 0.7259,
          "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.563,
          "after": 1.0,
          "delta": 0.437,
          "percent_delta": 0.7762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "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": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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.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": 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.3616,
          "after": 0.0,
          "delta": -0.3616,
          "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.3616,
          "after": 0.0,
          "delta": -0.3616,
          "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.1383,
        "predicted_3B": 0.0115,
        "predicted_BB": 0.2848,
        "predicted_H": 0.7599,
        "predicted_HR": 0.0968,
        "predicted_RBI": 0.431,
        "predicted_SO": 0.6672
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1383,
          "delta": 0.1383,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0115,
          "delta": 0.0115,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2848,
          "delta": 0.2848,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7599,
          "delta": -0.2401,
          "percent_delta": -0.2401,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0968,
          "delta": 0.0968,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.431,
          "delta": -0.569,
          "percent_delta": -0.569,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6672,
          "delta": -0.3328,
          "percent_delta": -0.3328,
          "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.2848,
          "delta": 0.2848,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.431,
          "delta": -0.569,
          "percent_delta": -0.569,
          "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.1383,
          "after": 0.0,
          "delta": -0.1383,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0115,
          "after": 0.0,
          "delta": -0.0115,
          "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.2848,
          "after": 0.0,
          "delta": -0.2848,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7599,
          "after": 1.0,
          "delta": 0.2401,
          "percent_delta": 0.316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0968,
          "after": 0.0,
          "delta": -0.0968,
          "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.431,
          "after": 0.0,
          "delta": -0.431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6672,
          "after": 1.0,
          "delta": 0.3328,
          "percent_delta": 0.4988,
          "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.6672,
          "after": 1.0,
          "delta": 0.3328,
          "percent_delta": 0.4988,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.431,
          "after": 0.0,
          "delta": -0.431,
          "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.309,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.234,
          "after": 0.241,
          "delta": 0.007,
          "percent_delta": 0.0299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3225,
          "after": 0.309,
          "delta": -0.0135,
          "percent_delta": -0.0419,
          "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.377,
          "after": 0.384,
          "delta": 0.007,
          "percent_delta": 0.0186,
          "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_RBI",
          "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.3225,
          "after": 0.309,
          "delta": -0.0135,
          "percent_delta": -0.0419,
          "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": 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": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "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": 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.234,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3225,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.377,
        "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.241,
          "after": 0.234,
          "delta": -0.007,
          "percent_delta": -0.0289,
          "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.309,
          "after": 0.3225,
          "delta": 0.0135,
          "percent_delta": 0.0438,
          "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.384,
          "after": 0.377,
          "delta": -0.007,
          "percent_delta": -0.0182,
          "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.309,
          "after": 0.3225,
          "delta": 0.0135,
          "percent_delta": 0.0438,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.234,
          "delta": -0.007,
          "percent_delta": -0.0289,
          "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.119,
        "after": 1.0,
        "delta": 0.881,
        "percent_delta": 7.4034,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.924,
        "after": 4.0,
        "delta": 1.076,
        "percent_delta": 0.368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.234,
        "delta": -0.012,
        "percent_delta": -0.0488,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 2.0,
        "delta": 1.32,
        "percent_delta": 1.9412,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.3225,
        "delta": -0.0005,
        "percent_delta": -0.0015,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.407,
        "after": 1.0,
        "delta": 0.593,
        "percent_delta": 1.457,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 2.0,
        "delta": 1.47,
        "percent_delta": 2.7736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.365,
        "after": 0.377,
        "delta": 0.012,
        "percent_delta": 0.0329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.576,
        "after": 1.0,
        "delta": 0.424,
        "percent_delta": 0.7361,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 2.0,
        "delta": 1.47,
        "percent_delta": 2.7736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "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.119-
predicted_3B0.017-
predicted_AB2.924-
predicted_AVG0.246-
predicted_BB0.390-
predicted_H0.680-
predicted_HR0.100-
predicted_OBP0.323-
predicted_R0.407-
predicted_RBI0.530-
predicted_SLG0.365-
predicted_SO0.576-
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.1330.014
predicted_3B0.014-0.003
predicted_AB2.9780.054
predicted_AVG0.245-0.001
predicted_BB0.389-0.001
predicted_H0.7080.028
predicted_HBP0.022-
predicted_HR0.090-0.010
predicted_OBP0.3270.004
predicted_R0.370-0.036
predicted_RBI0.5770.047
predicted_SLG0.3700.005
predicted_SO0.5790.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.1330.000
predicted_3B0.0140.000
predicted_AB2.9780.000
predicted_AVG0.234-0.011
predicted_BB0.3890.000
predicted_H0.697-0.011
predicted_HBP0.0220.000
predicted_HR0.088-0.002
predicted_OBP0.323-0.005
predicted_R0.362-0.009
predicted_RBI0.563-0.014
predicted_SLG0.3770.007
predicted_SO0.5790.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.98), rates preserved: AVG=0.234 HR/AB=0.030

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=8.0, weight=0.084, BvP AVG=0.250)

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.1380.138
3B0.0110.011
BB0.2850.285
H0.760-0.240
HR0.0970.097
RBI0.431-0.569
SO0.667-0.333
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.011
AB3.0000.000
BB0.000-0.285
H1.0000.240
HR0.000-0.097
R0.0000.000
RBI0.000-0.431
SO1.0000.333
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.133
predicted_3B0.000-0.014
predicted_AB3.0000.022
predicted_AVG0.2410.007
predicted_BB0.000-0.389
predicted_H1.0000.303
predicted_HR0.000-0.088
predicted_OBP0.309-0.014
predicted_R0.000-0.362
predicted_RBI1.0000.437
predicted_SLG0.3840.007
predicted_SO1.0000.421
11. 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
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: 118
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.0001.0000.0000.0004.0000.0002.0003.0000.25000.33330.31250.25000.00000.25000.12500.1875
last_100.2010-30.0008.0002.0000.0001.00010.0003.0004.0005.0000.26670.35290.43330.26670.03330.33330.13330.1667
season0.60118-345.00081.00014.0002.00010.00057.00048.00046.00068.0000.23480.33000.37390.23480.02900.16520.13330.1971
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1520
predicted_3B0.0110
predicted_AB3.0510
predicted_AVG0.2445
predicted_BB0.3880
predicted_H0.7460
predicted_HBP0.0220
predicted_HR0.0760
predicted_OBP0.3332
predicted_R0.3220
predicted_RBI0.6390
predicted_SLG0.3759
predicted_SO0.5840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.15200.1332model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB2.92403.05102.9785model_form_blend
predicted_AVG0.24600.24450.2454model_form_blend
predicted_BB0.39000.38800.3891model_form_blend
predicted_H0.68000.74600.7083model_form_blend
predicted_HBP-0.02200.0220form_only
predicted_HR0.10000.07600.0897model_form_blend
predicted_OBP0.32300.33320.3274model_form_blend
predicted_R0.40700.32200.3705model_form_blend
predicted_RBI0.53000.63900.5768model_form_blend
predicted_SLG0.36500.37590.3697model_form_blend
predicted_SO0.57600.58400.5794model_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 date384
Season rows before report date384
Report year2026
Profile rows used118
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.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_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_TB@PHI
game_typefull
mlbID680700
playerID680700
playerNameRichie Palacios
pos2B
startedTrue
startingPosition2B
teamTB
teamID27
game_date2026-09-27
sl_k_percent17.0
sl_bb_percent11.5
sl_woba0.316
sl_xwoba0.306
sl_xba0.243
sl_xslg0.334
sl_sweet_spot_percent33.1
sl_barrel_batted_rate4.0
sl_hard_hit_percent28.8
sl_exit_velocity_avg86.2
sl_launch_angle_avg13.4
sl_whiff_percent20.7
sl_swing_percent46.6
Victor Mesa Jr. (683748) · BATTER · RF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 242
All-history rows before 20261003: 242
System season_avg: 0.2600
Data season_avg (2026 season-to-date): 0.2621
Diff (system - data): -0.0021
System opponent_avg: 0.2940

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1130.0000.000Hitting_2B0.1070.000-0.1070.000
predicted_3B0.0421.0000.000Hitting_3B0.0540.0000.9461.000
predicted_AB3.6804.0004.000Hitting_AB3.4214.0000.5790.000
predicted_AVG0.2480.2500.250Hitting_AVG0.2620.250-0.0120.000
predicted_BB0.3100.0000.000Hitting_BB0.3390.000-0.3390.000
predicted_CS-0.0000.000BaseRunning_CS0.0500.000-0.0500.000
predicted_H0.9101.0001.000Hitting_H0.8971.0000.1030.000
predicted_HR0.1600.0000.000Hitting_HR0.2150.000-0.2150.000
predicted_OBP0.3230.2500.250Hitting_OBP0.3280.250-0.0780.000
predicted_R0.5211.0001.000Hitting_R0.5580.0000.4421.000
predicted_RBI0.5101.0000.000Hitting_RBI0.5291.0000.4710.000
predicted_SLG0.4460.7500.250Hitting_SLG0.5130.2500.2370.500
predicted_SO0.7462.0001.000Hitting_SO0.7232.0001.2770.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics12
Boosted Metrics7
Deboosted Metrics5
Better Metrics6
Worse Metrics6
Biggest Boostpredicted_SO: 0.7460 -> 2.0000 (boost 1.2540, worse)
Biggest Deboostpredicted_BB: 0.3100 -> 0.0000 (deboost -0.3100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.2480 -> 0.2584 (boost 0.0104, better)predicted_AB: 3.6800 -> 3.6200 (deboost -0.0600, 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.4520 -> 0.4368 (deboost -0.0152, 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.6200 -> 4.0000 (boost 0.3800, better)predicted_RBI: 0.4884 -> 0.0000 (deboost -0.4884, worse)AB rounded to 4 (raw=3.68), rates preserved: AVG=0.250 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.5126 -> 1.0000 (boost 0.4874, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4900 (boost 0.4900, better)predicted_SO: 1.0000 -> 0.8638 (deboost -0.1362, 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.8638 -> 1.0000 (boost 0.1362, worse)predicted_RBI: 0.4900 -> 0.0000 (deboost -0.4900, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context11010predicted_SLG: 0.4368 -> 0.4620 (boost 0.0252, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference33021predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final10101-predicted_SLG: 0.4620 -> 0.4368 (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": "683748",
  "player_name": "Victor Mesa Jr.",
  "position": "RF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.113,
        "predicted_3B": 0.042,
        "predicted_AB": 3.68,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.31,
        "predicted_H": 0.91,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.323,
        "predicted_R": 0.521,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.446,
        "predicted_SO": 0.746
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1415,
        "predicted_3B": 0.0353,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.2584,
        "predicted_BB": 0.3008,
        "predicted_H": 0.9331,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1533,
        "predicted_OBP": 0.3251,
        "predicted_R": 0.5252,
        "predicted_RBI": 0.5004,
        "predicted_SLG": 0.452,
        "predicted_SO": 0.767
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.113,
          "after": 0.1415,
          "delta": 0.0285,
          "percent_delta": 0.2522,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.042,
          "after": 0.0353,
          "delta": -0.0067,
          "percent_delta": -0.1595,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.68,
          "after": 3.62,
          "delta": -0.06,
          "percent_delta": -0.0163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2584,
          "delta": 0.0104,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.31,
          "after": 0.3008,
          "delta": -0.0092,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.9331,
          "delta": 0.0231,
          "percent_delta": 0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1533,
          "delta": -0.0067,
          "percent_delta": -0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3251,
          "delta": 0.0021,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.521,
          "after": 0.5252,
          "delta": 0.0042,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.5004,
          "delta": -0.0096,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.446,
          "after": 0.452,
          "delta": 0.006,
          "percent_delta": 0.0135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.746,
          "after": 0.767,
          "delta": 0.021,
          "percent_delta": 0.0282,
          "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.248,
          "after": 0.2584,
          "delta": 0.0104,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.68,
          "after": 3.62,
          "delta": -0.06,
          "percent_delta": -0.0163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 71
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1415,
        "predicted_3B": 0.0353,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.3008,
        "predicted_H": 0.9184,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1503,
        "predicted_OBP": 0.3109,
        "predicted_R": 0.5126,
        "predicted_RBI": 0.4884,
        "predicted_SLG": 0.4368,
        "predicted_SO": 0.767
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1415,
          "after": 0.1415,
          "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.62,
          "after": 3.62,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2584,
          "after": 0.2537,
          "delta": -0.0047,
          "percent_delta": -0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3008,
          "after": 0.3008,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9331,
          "after": 0.9184,
          "delta": -0.0147,
          "percent_delta": -0.0158,
          "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.1533,
          "after": 0.1503,
          "delta": -0.003,
          "percent_delta": -0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3251,
          "after": 0.3109,
          "delta": -0.0142,
          "percent_delta": -0.0437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5252,
          "after": 0.5126,
          "delta": -0.0126,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5004,
          "after": 0.4884,
          "delta": -0.012,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.452,
          "after": 0.4368,
          "delta": -0.0152,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.767,
          "after": 0.767,
          "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.452,
          "after": 0.4368,
          "delta": -0.0152,
          "percent_delta": -0.0336,
          "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.68), rates preserved: AVG=0.250 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.1415,
          "after": 0.0,
          "delta": -0.1415,
          "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.62,
          "after": 4.0,
          "delta": 0.38,
          "percent_delta": 0.105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3008,
          "after": 0.0,
          "delta": -0.3008,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9184,
          "after": 1.0,
          "delta": 0.0816,
          "percent_delta": 0.0889,
          "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.1503,
          "after": 0.0,
          "delta": -0.1503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4884,
          "after": 0.0,
          "delta": -0.4884,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.767,
          "after": 1.0,
          "delta": 0.233,
          "percent_delta": 0.3038,
          "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.62,
          "after": 4.0,
          "delta": 0.38,
          "percent_delta": 0.105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4884,
          "after": 0.0,
          "delta": -0.4884,
          "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.5126,
          "after": 1.0,
          "delta": 0.4874,
          "percent_delta": 0.9508,
          "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.5126,
          "after": 1.0,
          "delta": 0.4874,
          "percent_delta": 0.9508,
          "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.1624,
        "predicted_3B": 0.0198,
        "predicted_BB": 0.2499,
        "predicted_H": 0.9178,
        "predicted_HR": 0.1803,
        "predicted_RBI": 0.49,
        "predicted_SO": 0.8638
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1624,
          "delta": 0.1624,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0198,
          "delta": 0.0198,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2499,
          "delta": 0.2499,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9178,
          "delta": -0.0822,
          "percent_delta": -0.0822,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1803,
          "delta": 0.1803,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.49,
          "delta": 0.49,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8638,
          "delta": -0.1362,
          "percent_delta": -0.1362,
          "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.49,
          "delta": 0.49,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8638,
          "delta": -0.1362,
          "percent_delta": -0.1362,
          "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.1624,
          "after": 0.0,
          "delta": -0.1624,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2499,
          "after": 0.0,
          "delta": -0.2499,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9178,
          "after": 1.0,
          "delta": 0.0822,
          "percent_delta": 0.0896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1803,
          "after": 0.0,
          "delta": -0.1803,
          "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.49,
          "after": 0.0,
          "delta": -0.49,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8638,
          "after": 1.0,
          "delta": 0.1362,
          "percent_delta": 0.1577,
          "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.8638,
          "after": 1.0,
          "delta": 0.1362,
          "percent_delta": 0.1577,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.0,
          "delta": -0.49,
          "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.255,
        "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.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.2537,
          "after": 0.255,
          "delta": 0.0013,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3109,
          "after": 0.309,
          "delta": -0.0019,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4368,
          "after": 0.462,
          "delta": 0.0252,
          "percent_delta": 0.0577,
          "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_SLG",
          "before": 0.4368,
          "after": 0.462,
          "delta": 0.0252,
          "percent_delta": 0.0577,
          "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": 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": 4.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": 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_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": 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.2537,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3109,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4368,
        "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": 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.255,
          "after": 0.2537,
          "delta": -0.0013,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3109,
          "delta": 0.0019,
          "percent_delta": 0.0063,
          "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.462,
          "after": 0.4368,
          "delta": -0.0252,
          "percent_delta": -0.0545,
          "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_SLG",
          "before": 0.462,
          "after": 0.4368,
          "delta": -0.0252,
          "percent_delta": -0.0545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.113,
        "after": 0.0,
        "delta": -0.113,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.042,
        "after": 1.0,
        "delta": 0.958,
        "percent_delta": 22.8095,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.68,
        "after": 4.0,
        "delta": 0.32,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.248,
        "after": 0.2537,
        "delta": 0.0057,
        "percent_delta": 0.023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 1.0,
        "delta": 0.09,
        "percent_delta": 0.0989,
        "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.323,
        "after": 0.3109,
        "delta": -0.0121,
        "percent_delta": -0.0375,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.521,
        "after": 1.0,
        "delta": 0.479,
        "percent_delta": 0.9194,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.446,
        "after": 0.4368,
        "delta": -0.0092,
        "percent_delta": -0.0206,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 2.0,
        "delta": 1.254,
        "percent_delta": 1.681,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 7,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 2.0,
        "delta": 1.254,
        "percent_delta": 1.681,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "boosted"
    }
  }
}

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.113-
predicted_3B0.042-
predicted_AB3.680-
predicted_AVG0.248-
predicted_BB0.310-
predicted_H0.910-
predicted_HR0.160-
predicted_OBP0.323-
predicted_R0.521-
predicted_RBI0.510-
predicted_SLG0.446-
predicted_SO0.746-
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.1410.028
predicted_3B0.035-0.007
predicted_AB3.620-0.060
predicted_AVG0.2580.010
predicted_BB0.301-0.009
predicted_H0.9330.023
predicted_HBP0.003-
predicted_HR0.153-0.007
predicted_OBP0.3250.002
predicted_R0.5250.004
predicted_RBI0.500-0.010
predicted_SLG0.4520.006
predicted_SO0.7670.021
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.0350.000
predicted_AB3.6200.000
predicted_AVG0.254-0.005
predicted_BB0.3010.000
predicted_H0.918-0.015
predicted_HBP0.0030.000
predicted_HR0.150-0.003
predicted_OBP0.311-0.014
predicted_R0.513-0.013
predicted_RBI0.488-0.012
predicted_SLG0.437-0.015
predicted_SO0.7670.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 4 (raw=3.68), rates preserved: AVG=0.250 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.1620.162
3B0.0200.020
BB0.2500.250
H0.918-0.082
HR0.1800.180
RBI0.4900.490
SO0.864-0.136
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.020
AB4.0000.000
BB0.000-0.250
H1.0000.082
HR0.000-0.180
R1.0000.000
RBI0.000-0.490
SO1.0000.136
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.035
predicted_AB4.0000.380
predicted_AVG0.2550.001
predicted_BB0.000-0.301
predicted_H1.0000.082
predicted_HR0.000-0.150
predicted_OBP0.309-0.002
predicted_R1.0000.487
predicted_RBI0.000-0.488
predicted_SLG0.4620.025
predicted_SO1.0000.233
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.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.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: 71
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.0007.0002.0000.0000.0003.0003.0001.0004.0000.35000.38100.45000.35000.00000.15000.05000.2000
last_100.2010-36.0009.0002.0000.0001.0004.0005.0003.0009.0000.25000.30770.38890.25000.02780.11110.08330.2500
season0.6071-235.00061.0008.0003.00014.00034.00037.00022.00053.0000.25960.32170.49790.25960.05960.14470.09360.2255
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1810
predicted_3B0.0260
predicted_AB3.5370
predicted_AVG0.2729
predicted_BB0.2880
predicted_H0.9650
predicted_HBP0.0030
predicted_HR0.1440
predicted_OBP0.3281
predicted_R0.5310
predicted_RBI0.4870
predicted_SLG0.4604
predicted_SO0.7960
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11300.18100.1415model_form_blend
predicted_3B0.04200.02600.0353model_form_blend
predicted_AB3.68003.53703.6200model_form_blend
predicted_AVG0.24800.27290.2584model_form_blend
predicted_BB0.31000.28800.3008model_form_blend
predicted_H0.91000.96500.9331model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.16000.14400.1533model_form_blend
predicted_OBP0.32300.32810.3251model_form_blend
predicted_R0.52100.53100.5252model_form_blend
predicted_RBI0.51000.48700.5004model_form_blend
predicted_SLG0.44600.46040.4520model_form_blend
predicted_SO0.74600.79600.7670model_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 date242
Season rows before report date242
Report year2026
Profile rows used71
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.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
allPositionsPlayedLF
gameID20260927_TB@PHI
game_typefull
mlbID683748
playerID683748
playerNameVictor Mesa Jr.
posRF
startedTrue
startingPositionLF
teamTB
teamID27
game_date2026-09-27
sl_k_percent20.2
sl_bb_percent8.8
sl_woba0.355
sl_xwoba0.329
sl_xba0.249
sl_xslg0.439
sl_sweet_spot_percent31.9
sl_barrel_batted_rate10.8
sl_hard_hit_percent42.2
sl_exit_velocity_avg89.4
sl_launch_angle_avg21.0
sl_whiff_percent25.5
sl_swing_percent55.0
Taylor Walls (670764) · BATTER · SS · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 425
All-history rows before 20261003: 425
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2213
Diff (system - data): -0.0003
System opponent_avg: 0.0000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1450.0000.000Hitting_2B0.1411.000-0.141-1.000
predicted_3B0.0170.0000.000Hitting_3B0.0190.000-0.0190.000
predicted_AB3.1282.0003.000Hitting_AB3.2215.000-1.221-3.000
predicted_AVG0.2190.0000.000Hitting_AVG0.2210.200-0.221-0.200
predicted_BB0.3851.0000.000Hitting_BB0.4070.0000.5931.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.6400.0000.000Hitting_H0.7131.000-0.713-1.000
predicted_HR0.0200.0000.000Hitting_HR0.0190.000-0.0190.000
predicted_OBP0.3120.3330.000Hitting_OBP0.3100.2000.0230.133
predicted_R0.5040.0001.000Hitting_R0.5291.000-0.529-1.000
predicted_RBI0.3100.0000.000Hitting_RBI0.3290.000-0.3290.000
predicted_SLG0.3100.0000.000Hitting_SLG0.2940.400-0.294-0.400
predicted_SO0.8970.0001.000Hitting_SO0.9323.000-0.932-3.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.3850 -> 1.0000 (boost 0.6150, better)
Biggest Deboostpredicted_AB: 3.1280 -> 2.0000 (deboost -1.1280, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_R: 0.5040 -> 0.5608 (boost 0.0568, 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.3223 -> 0.3020 (deboost -0.0203, 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.6837 -> 1.0000 (boost 0.3163, better)predicted_BB: 0.3781 -> 0.0000 (deboost -0.3781, worse)AB rounded to 3 (raw=3.13), rates preserved: AVG=0.218 HR/AB=0.006
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.5474 -> 1.0000 (boost 0.4526, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_RBI: 0.0000 -> 0.2964 (boost 0.2964, better)predicted_H: 1.0000 -> 0.6725 (deboost -0.3275, 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_allocation51405predicted_SO: 0.8960 -> 1.0000 (boost 0.1040, worse)predicted_H: 0.6725 -> 0.0000 (deboost -0.6725, 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.3023 -> 0.2850 (deboost -0.0173, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference51423predicted_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
12current_json_final21111predicted_OBP: 0.2850 -> 0.3023 (boost 0.0173, better)predicted_SLG: 0.3170 -> 0.3020 (deboost -0.0150, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670764",
  "player_name": "Taylor Walls",
  "position": "SS",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.145,
        "predicted_3B": 0.017,
        "predicted_AB": 3.128,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.385,
        "predicted_H": 0.64,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.312,
        "predicted_R": 0.504,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.31,
        "predicted_SO": 0.897
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1799,
        "predicted_3B": 0.014,
        "predicted_AB": 3.1349,
        "predicted_AVG": 0.2297,
        "predicted_BB": 0.3781,
        "predicted_H": 0.6947,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0187,
        "predicted_OBP": 0.3176,
        "predicted_R": 0.5608,
        "predicted_RBI": 0.3044,
        "predicted_SLG": 0.3223,
        "predicted_SO": 0.9056
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.145,
          "after": 0.1799,
          "delta": 0.0349,
          "percent_delta": 0.2407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.014,
          "delta": -0.003,
          "percent_delta": -0.1765,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.128,
          "after": 3.1349,
          "delta": 0.0069,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2297,
          "delta": 0.0107,
          "percent_delta": 0.0489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.3781,
          "delta": -0.0069,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.6947,
          "delta": 0.0547,
          "percent_delta": 0.0855,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0187,
          "delta": -0.0013,
          "percent_delta": -0.065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3176,
          "delta": 0.0056,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.504,
          "after": 0.5608,
          "delta": 0.0568,
          "percent_delta": 0.1127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.3044,
          "delta": -0.0056,
          "percent_delta": -0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.31,
          "after": 0.3223,
          "delta": 0.0123,
          "percent_delta": 0.0397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.897,
          "after": 0.9056,
          "delta": 0.0086,
          "percent_delta": 0.0096,
          "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_R",
          "before": 0.504,
          "after": 0.5608,
          "delta": 0.0568,
          "percent_delta": 0.1127,
          "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": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1799,
        "predicted_3B": 0.014,
        "predicted_AB": 3.1349,
        "predicted_AVG": 0.2181,
        "predicted_BB": 0.3781,
        "predicted_H": 0.6837,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0183,
        "predicted_OBP": 0.3023,
        "predicted_R": 0.5474,
        "predicted_RBI": 0.2971,
        "predicted_SLG": 0.302,
        "predicted_SO": 0.9056
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1799,
          "after": 0.1799,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1349,
          "after": 3.1349,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2297,
          "after": 0.2181,
          "delta": -0.0116,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3781,
          "after": 0.3781,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6947,
          "after": 0.6837,
          "delta": -0.011,
          "percent_delta": -0.0158,
          "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.0187,
          "after": 0.0183,
          "delta": -0.0004,
          "percent_delta": -0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3176,
          "after": 0.3023,
          "delta": -0.0153,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5608,
          "after": 0.5474,
          "delta": -0.0134,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3044,
          "after": 0.2971,
          "delta": -0.0073,
          "percent_delta": -0.024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3223,
          "after": 0.302,
          "delta": -0.0203,
          "percent_delta": -0.063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9056,
          "after": 0.9056,
          "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.3223,
          "after": 0.302,
          "delta": -0.0203,
          "percent_delta": -0.063,
          "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.13), rates preserved: AVG=0.218 HR/AB=0.006",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1799,
          "after": 0.0,
          "delta": -0.1799,
          "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.1349,
          "after": 3.0,
          "delta": -0.1349,
          "percent_delta": -0.043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3781,
          "after": 0.0,
          "delta": -0.3781,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6837,
          "after": 1.0,
          "delta": 0.3163,
          "percent_delta": 0.4626,
          "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.0183,
          "after": 0.0,
          "delta": -0.0183,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2971,
          "after": 0.0,
          "delta": -0.2971,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9056,
          "after": 1.0,
          "delta": 0.0944,
          "percent_delta": 0.1042,
          "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.6837,
          "after": 1.0,
          "delta": 0.3163,
          "percent_delta": 0.4626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3781,
          "after": 0.0,
          "delta": -0.3781,
          "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=11.0, weight=0.107, 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.8927,
        "bvp": 0.1073
      },
      "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.5474,
          "after": 1.0,
          "delta": 0.4526,
          "percent_delta": 0.8268,
          "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.5474,
          "after": 1.0,
          "delta": 0.4526,
          "percent_delta": 0.8268,
          "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.1375,
        "predicted_3B": 0.0109,
        "predicted_BB": 0.2635,
        "predicted_H": 0.6725,
        "predicted_HR": 0.0494,
        "predicted_RBI": 0.2964,
        "predicted_SO": 0.896
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1375,
          "delta": 0.1375,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0109,
          "delta": 0.0109,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2635,
          "delta": 0.2635,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6725,
          "delta": -0.3275,
          "percent_delta": -0.3275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0494,
          "delta": 0.0494,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2964,
          "delta": 0.2964,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.896,
          "delta": -0.104,
          "percent_delta": -0.104,
          "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.0,
          "after": 0.2964,
          "delta": 0.2964,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6725,
          "delta": -0.3275,
          "percent_delta": -0.3275,
          "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": 1.0,
        "predicted_RBI": 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.0109,
          "after": 0.0,
          "delta": -0.0109,
          "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.2635,
          "after": 0.0,
          "delta": -0.2635,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6725,
          "after": 0.0,
          "delta": -0.6725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0494,
          "after": 0.0,
          "delta": -0.0494,
          "percent_delta": -1.0,
          "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.2964,
          "after": 0.0,
          "delta": -0.2964,
          "percent_delta": -1.0,
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.896,
          "after": 1.0,
          "delta": 0.104,
          "percent_delta": 0.1161,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6725,
          "after": 0.0,
          "delta": -0.6725,
          "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.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.317,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2181,
          "after": 0.218,
          "delta": -0.0001,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.3023,
          "after": 0.285,
          "delta": -0.0173,
          "percent_delta": -0.0572,
          "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.302,
          "after": 0.317,
          "delta": 0.015,
          "percent_delta": 0.0497,
          "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.3023,
          "after": 0.285,
          "delta": -0.0173,
          "percent_delta": -0.0572,
          "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": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "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": 2.0,
        "predicted_AVG": 0.2181,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3023,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.302,
        "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": 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.218,
          "after": 0.2181,
          "delta": 0.0001,
          "percent_delta": 0.0005,
          "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": 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.3023,
          "delta": 0.0173,
          "percent_delta": 0.0605,
          "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.317,
          "after": 0.302,
          "delta": -0.015,
          "percent_delta": -0.0474,
          "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_OBP",
          "before": 0.285,
          "after": 0.3023,
          "delta": 0.0173,
          "percent_delta": 0.0605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.302,
          "delta": -0.015,
          "percent_delta": -0.0474,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.145,
        "after": 0.0,
        "delta": -0.145,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.128,
        "after": 2.0,
        "delta": -1.128,
        "percent_delta": -0.3606,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.2181,
        "delta": -0.0009,
        "percent_delta": -0.0041,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.3023,
        "delta": -0.0097,
        "percent_delta": -0.0311,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.504,
        "after": 0.0,
        "delta": -0.504,
        "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.31,
        "after": 0.302,
        "delta": -0.008,
        "percent_delta": -0.0258,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.897,
        "after": 0.0,
        "delta": -0.897,
        "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.385,
        "after": 1.0,
        "delta": 0.615,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.128,
        "after": 2.0,
        "delta": -1.128,
        "percent_delta": -0.3606,
        "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.145-
predicted_3B0.017-
predicted_AB3.128-
predicted_AVG0.219-
predicted_BB0.385-
predicted_H0.640-
predicted_HR0.020-
predicted_OBP0.312-
predicted_R0.504-
predicted_RBI0.310-
predicted_SLG0.310-
predicted_SO0.897-
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.1800.035
predicted_3B0.014-0.003
predicted_AB3.1350.007
predicted_AVG0.2300.011
predicted_BB0.378-0.007
predicted_H0.6950.055
predicted_HBP0.016-
predicted_HR0.019-0.001
predicted_OBP0.3180.006
predicted_R0.5610.057
predicted_RBI0.304-0.006
predicted_SLG0.3220.012
predicted_SO0.9060.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.1800.000
predicted_3B0.0140.000
predicted_AB3.1350.000
predicted_AVG0.218-0.012
predicted_BB0.3780.000
predicted_H0.684-0.011
predicted_HBP0.0160.000
predicted_HR0.018-0.000
predicted_OBP0.302-0.015
predicted_R0.547-0.013
predicted_RBI0.297-0.007
predicted_SLG0.302-0.020
predicted_SO0.9060.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.13), rates preserved: AVG=0.218 HR/AB=0.006

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=11.0, weight=0.107, 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
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.1380.138
3B0.0110.011
BB0.2640.264
H0.672-0.328
HR0.0490.049
RBI0.2960.296
SO0.896-0.104
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.011
AB3.0000.000
BB0.000-0.264
H0.000-0.672
HR0.000-0.049
R1.0000.000
RBI0.000-0.296
SO1.0000.104
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.180
predicted_3B0.000-0.014
predicted_AB3.000-0.135
predicted_AVG0.218-0.000
predicted_BB0.000-0.378
predicted_H1.0000.316
predicted_HR0.000-0.018
predicted_OBP0.285-0.017
predicted_R1.0000.453
predicted_RBI0.000-0.297
predicted_SLG0.3170.015
predicted_SO1.0000.094
11. 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.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: 117
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.0005.0002.0000.0000.0001.0005.0001.0005.0000.31250.35290.43750.31250.00000.06250.06250.3125
last_100.2010-29.0007.0003.0000.0000.0003.0007.0005.0009.0000.24140.35290.34480.24140.00000.10350.17240.3103
season0.60117-366.00081.00017.0002.0002.00036.00059.00045.000105.0000.22130.30860.29510.22130.00550.09840.12300.2869
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2260
predicted_3B0.0100
predicted_AB3.1440
predicted_AVG0.2439
predicted_BB0.3690
predicted_H0.7670
predicted_HBP0.0160
predicted_HR0.0170
predicted_OBP0.3249
predicted_R0.6360
predicted_RBI0.2970
predicted_SLG0.3385
predicted_SO0.9170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14500.22600.1799model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB3.12803.14403.1349model_form_blend
predicted_AVG0.21900.24390.2297model_form_blend
predicted_BB0.38500.36900.3781model_form_blend
predicted_H0.64000.76700.6947model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.02000.01700.0187model_form_blend
predicted_OBP0.31200.32490.3176model_form_blend
predicted_R0.50400.63600.5608model_form_blend
predicted_RBI0.31000.29700.3044model_form_blend
predicted_SLG0.31000.33850.3223model_form_blend
predicted_SO0.89700.91700.9056model_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 date425
Season rows before report date425
Report year2026
Profile rows used117
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_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
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
allPositionsPlayedSS
gameID20260926_TB@PHI
game_typefull
mlbID670764
playerID670764
playerNameTaylor Walls
posSS
startedTrue
startingPositionSS
teamTB
teamID27
game_date2026-09-26
sl_k_percent24.2
sl_bb_percent10.4
sl_woba0.278
sl_xwoba0.251
sl_xba0.19
sl_xslg0.261
sl_sweet_spot_percent32.1
sl_barrel_batted_rate2.2
sl_hard_hit_percent21.9
sl_exit_velocity_avg85.6
sl_launch_angle_avg19.4
sl_whiff_percent22.0
sl_swing_percent43.2
Drew Rasmussen (656876) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 30
All-history rows before 20261003: 30

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.0673.0001.9330.000
predicted_ER2.0002.0002.000Pitching_ER1.7001.0000.3001.000
predicted_H1.0001.0001.000Pitching_H4.1671.000-3.1670.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.6876.2000.313-0.200
predicted_SO5.0005.0005.000Pitching_SO5.80011.000-0.800-6.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_SO: 4.0000 -> 5.0000 (boost 1.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final10101-predicted_SO: 6.0000 -> 5.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": "656876",
  "player_name": "Drew Rasmussen",
  "position": "Starter",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "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": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "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_BB3.000-
predicted_ER2.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO4.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_H1.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO6.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.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45531.2005.00020.0007.00031.0001.0001.42110.85260.15790.63160.22100.97890.0316
last_100.351060.20013.00040.00013.00062.0002.0001.92860.87360.21430.65930.21431.02200.0330
season0.2030172.00051.000125.00032.000174.00014.0002.66860.91280.29650.72670.18601.01160.0814
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4310
predicted_ER1.5130
predicted_ERA2.2428
predicted_H4.2900
predicted_HR0.3470
predicted_IP6.0000
predicted_SO6.0160
predicted_WHIP0.9422
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.43102.0749model_form_blend
predicted_ER2.00001.51301.7129model_form_blend
predicted_ERA-2.24282.2428form_only
predicted_H1.00004.29002.9399model_form_blend
predicted_HR0.00000.34700.2046model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO4.00006.01605.1887model_form_blend
predicted_WHIP-0.94220.9422form_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.0
H1
R2
ER2
BB3
SO5
HR0
BF22
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_BB3
Pitching_Balk0
Pitching_Batters Faced24
Pitching_ER1
Pitching_ERA2.67
Pitching_Flyouts4
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.2
Pitching_Pitches114
Pitching_R1
Pitching_SO11
Pitching_Strikes72
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260922_TB@NYY_2
game_typefull
mlbID656876
playerID656876
playerNameDrew Rasmussen
posP
startedTrue
startingPositionP
teamTB
teamID27
game_date2026-09-22
sl_k_percent26.0
sl_bb_percent4.8
sl_woba0.243
sl_xwoba0.271
sl_sweet_spot_percent32.5
sl_barrel_batted_rate5.9
sl_hard_hit_percent33.8
sl_whiff_percent25.1
sl_swing_percent50.1
sl_avg_best_speed77.428542965
sl_avg_hyper_speed93.596998204
Bryan Baker (641329) · PITCHER · Closer · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 65
All-history rows before 20261003: 65

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3380.0000.6621.000
predicted_ER0.0000.0000.000Pitching_ER0.1540.000-0.1540.000
predicted_H1.0001.0001.000Pitching_H0.5380.0000.4621.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9341.0000.0660.000
predicted_SO0.0000.0000.000Pitching_SO0.9690.000-0.9690.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": "641329",
  "player_name": "Bryan Baker",
  "position": "Closer",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 63
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.1000.0004.0001.0002.0000.0000.00000.93750.00000.75000.18750.37500.0000
last_100.351010.1000.0005.0004.0005.0000.0000.00000.87100.00000.48390.38710.48390.0000
season0.206362.1009.00034.00020.00063.0004.0001.29950.86630.14440.54540.32091.01070.0642
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3110
predicted_ER0.1640
predicted_ERA1.4787
predicted_H0.7190
predicted_HR0.0510
predicted_IP1.0000
predicted_SO0.6500
predicted_WHIP1.0299
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.31100.6337model_form_blend
predicted_ER0.00000.16400.0872model_form_blend
predicted_ERA-1.47871.4787form_only
predicted_H1.00000.71900.8506model_form_blend
predicted_HR0.00000.05100.0271model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.65000.3456model_form_blend
predicted_WHIP-1.02991.0299form_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 date65
Season rows before report date65
Report year2026
Profile rows used63
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
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_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.44
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO0
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260925_TB@PHI
game_typefull
mlbID641329
playerID641329
playerNameBryan Baker
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-25
sl_k_percent25.8
sl_bb_percent9.0
sl_woba0.231
sl_xwoba0.272
sl_sweet_spot_percent33.1
sl_barrel_batted_rate7.0
sl_hard_hit_percent35.7
sl_whiff_percent27.2
sl_swing_percent52.6
sl_avg_best_speed74.996232987
sl_avg_hyper_speed93.55885961
Cam Booser (592155) · PITCHER · Middle Reliever (High Leverage) · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 42
All-history rows before 20261003: 42

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1430.000-0.1430.000
predicted_ER1.0001.0001.000Pitching_ER0.2140.0000.7861.000
predicted_H1.0001.0001.000Pitching_H0.5951.0000.4050.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7931.0000.2070.000
predicted_SO0.0000.0000.000Pitching_SO1.0712.000-1.071-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": "592155",
  "player_name": "Cam Booser",
  "position": "Middle Reliever (High Leverage)",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 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.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_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.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: 42
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.0000.0001.0000.0004.0000.0000.00000.25000.00000.25000.00001.00000.0000
last_100.35107.2000.0002.0000.0006.0000.0000.00000.26090.00000.26090.00000.78260.0000
season0.204241.0009.00025.0006.00045.0005.0001.97560.75610.21950.60980.14631.09760.1220
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1330
predicted_ER0.1810
predicted_ERA1.9616
predicted_H0.4750
predicted_HR0.0580
predicted_IP0.2000
predicted_SO0.7820
predicted_WHIP0.7299
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.13300.0656model_form_blend
predicted_ER1.00000.18100.5963model_form_blend
predicted_ERA-1.96161.9616form_only
predicted_H1.00000.47500.7412model_form_blend
predicted_HR1.00000.05800.5356model_form_blend
predicted_IP1.00000.20001.0000model_form_blend
predicted_SO1.00000.78200.8925model_form_blend
predicted_WHIP-0.72990.7299form_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 date42
Season rows before report date42
Report year2026
Profile rows used42
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO0
HR1
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_ERA1.98
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches21
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260926_TB@PHI
game_typefull
mlbID592155
playerID592155
playerNameCam Booser
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-26
sl_k_percent29.6
sl_bb_percent3.9
sl_woba0.222
sl_xwoba0.252
sl_sweet_spot_percent32.7
sl_barrel_batted_rate5.9
sl_hard_hit_percent37.6
sl_whiff_percent28.6
sl_swing_percent55.5
sl_avg_best_speed81.083061042
sl_avg_hyper_speed94.197371771
Kevin Kelly (687330) · PITCHER · Setup Man · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 71
All-history rows before 20261003: 71

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1550.000-0.1550.000
predicted_ER0.0000.0000.000Pitching_ER0.2820.000-0.2820.000
predicted_H1.0001.0001.000Pitching_H0.7750.0000.2251.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8831.0000.1170.000
predicted_SO0.0000.0000.000Pitching_SO0.8871.000-0.887-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": "687330",
  "player_name": "Kevin Kelly",
  "position": "Setup Man",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 71
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.2001.0005.0000.0006.0000.0001.92861.07140.21431.07140.00001.28570.0000
last_100.35108.0006.00012.0000.00011.0001.0006.75001.50000.75001.50000.00001.37500.1250
season0.207173.20020.00055.00011.00063.0006.0002.44340.89590.27150.74660.14930.85520.0814
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1060
predicted_ER0.3990
predicted_ERA3.9396
predicted_H1.0160
predicted_HR0.0750
predicted_IP1.0000
predicted_SO1.0560
predicted_WHIP1.2302
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.10600.0578model_form_blend
predicted_ER0.00000.39900.2176model_form_blend
predicted_ERA-3.93963.9396form_only
predicted_H1.00001.01601.0087model_form_blend
predicted_HR0.00000.07500.0409model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.05600.5759model_form_blend
predicted_WHIP-1.23021.2302form_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 used71
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 Faced3
Pitching_ER0
Pitching_ERA2.44
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_TB@PHI
game_typefull
mlbID687330
playerID687330
playerNameKevin Kelly
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-25
sl_k_percent22.6
sl_bb_percent3.9
sl_woba0.246
sl_xwoba0.284
sl_sweet_spot_percent31.2
sl_barrel_batted_rate6.0
sl_hard_hit_percent44.6
sl_whiff_percent24.0
sl_swing_percent49.4
sl_avg_best_speed78.7371153
sl_avg_hyper_speed94.606937387

20261003_SD@MIL

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": 6, "confidence": 0.53, "home_win_probability": 0.53, "away_win_probability": 0.47, "predicted_score_text": "SD 4 - 6 MIL", "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": "SD", "original_runs": 5, "run_delta": -0.8995, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.2698136635146207, "contact": 0.21332697611885174, "power": 0.1847871559509353, "discipline": 0.0697000978667646, "xwoba": 0.3202727272727273, "recent_xwoba": 0.3202727272727273, "barrel": 7.663636363636364, "ab_hard_contact": 0.08498987226545864, "ab_bat_speed": 70.32201883124142, "ab_strikeout_rate": 0.21942643775977108, "available_players": 9, "top_players": [{"player_id": "665487", "player_name": "Fernando Tatis Jr.", "position": "RF", "weight": 4.0, "quality": 1.2604590048722752, "contact": 1.537598777628673, "power": 1.419060078544773, "discipline": 0.1520958203101061, "xwoba": 0.379, "recent_xwoba": 0.379, "barrel": 12.7, "ab_hard_contact": 0.905772999466876, "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.8278487816368972, "contact": 0.8372077998185014, "power": 1.2214916775618447, "discipline": -0.46643139057424765, "xwoba": 0.347, "recent_xwoba": 0.347, "barrel": 12.4, "ab_hard_contact": 0.9818335512368941, "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.6978572867345045, "contact": -0.8198097083609606, "power": -0.8736747190478739, "discipline": 0.11953346203346207, "xwoba": 0.275, "recent_xwoba": 0.275, "barrel": 3.9, "ab_hard_contact": -0.6247324761955773, "ab_bat_speed": 68.6986115244709, "ab_strikeout_rate": 0.23928571428571427, "available": 1.0}, {"player_id": "592518", "player_name": "Manny Machado", "position": "3B", "weight": 4.0, "quality": 0.4040704502480903, "contact": 0.31953569470026355, "power": 0.5028812447966452, "discipline": 0.33572960715817846, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 9.7, "ab_hard_contact": 0.42562489593290964, "ab_bat_speed": 73.21585517241378, "ab_strikeout_rate": 0.21201814058956917, "available": 1.0}, {"player_id": "664034", "player_name": "Ty France", "position": "1B", "weight": 4.0, "quality": 0.3413400392257214, "contact": 0.47219870293994554, "power": 0.5963461334628277, "discipline": -0.2615933185933186, "xwoba": 0.327, "recent_xwoba": 0.327, "barrel": 9.1, "ab_hard_contact": 0.45035124068512516, "ab_bat_speed": 70.61850143678161, "ab_strikeout_rate": 0.23062678062678063, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "694819", "player_name": "Jacob Misiorowski", "quality": 1.489349959231257, "contact": 1.7358967251160964, "command": 1.357965730505165, "movement": 2.0, "xwoba": 0.226, "whiff": 37.3, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "MIL", "original_runs": 6, "run_delta": 0.4826, "adjusted_runs": 6, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.3243626797997229, "contact": 0.3860285507742995, "power": 0.3513102559994825, "discipline": 0.21320051129070614, "xwoba": 0.3294242424242424, "recent_xwoba": 0.3294242424242424, "barrel": 8.445454545454545, "ab_hard_contact": 0.2076423494268786, "ab_bat_speed": 71.62219393308975, "ab_strikeout_rate": 0.23700394641375166, "available_players": 9, "top_players": [{"player_id": "641343", "player_name": "Jake Bauers", "position": "1B", "weight": 4.0, "quality": 0.9404135644339814, "contact": 0.9233392416170212, "power": 1.2575631064250319, "discipline": 0.6168031792953668, "xwoba": 0.371, "recent_xwoba": 0.371, "barrel": 14.0, "ab_hard_contact": 0.5002145094530251, "ab_bat_speed": 74.62907635688684, "ab_strikeout_rate": 0.2675874255952381, "available": 1.0}, {"player_id": "669003", "player_name": "Garrett Mitchell", "position": "CF", "weight": 3.0, "quality": 0.7615547881076475, "contact": 0.8459406760197757, "power": 1.077743900070061, "discipline": -0.4058871728871727, "xwoba": 0.353, "recent_xwoba": 0.353, "barrel": 11.7, "ab_hard_contact": 0.8950684775916906, "ab_bat_speed": 75.87857700993676, "ab_strikeout_rate": 0.34384920634920635, "available": 1.0}, {"player_id": "694192", "player_name": "Jackson Chourio", "position": "LF", "weight": 4.0, "quality": 0.7295733049708641, "contact": 0.7642845085077412, "power": 1.106706123946308, "discipline": -0.10912777439093235, "xwoba": 0.344, "recent_xwoba": 0.344, "barrel": 12.3, "ab_hard_contact": 0.8468843836880706, "ab_bat_speed": 73.16599660894661, "ab_strikeout_rate": 0.2347326649958229, "available": 1.0}, {"player_id": "661388", "player_name": "William Contreras", "position": "C", "weight": 4.0, "quality": 0.5480632665923718, "contact": 0.6240085658408894, "power": 0.5457610328830016, "discipline": 0.5142107107107108, "xwoba": 0.334, "recent_xwoba": 0.334, "barrel": 8.5, "ab_hard_contact": 0.3723635148028898, "ab_bat_speed": 72.30946246819339, "ab_strikeout_rate": 0.14846560846560847, "available": 1.0}, {"player_id": "668930", "player_name": "Brice Turang", "position": "2B", "weight": 4.0, "quality": 0.4095598851835547, "contact": 0.5031618386037058, "power": 0.37807434798942086, "discipline": 0.5271825756935244, "xwoba": 0.344, "recent_xwoba": 0.344, "barrel": 7.7, "ab_hard_contact": 0.3767250550265139, "ab_bat_speed": 67.37467774097944, "ab_strikeout_rate": 0.24827945776850885, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "592662", "player_name": "Robbie Ray", "quality": -0.30552916400699986, "contact": -0.19747676188239574, "command": -0.4233199837805492, "movement": -0.47822915871950294, "xwoba": 0.335, "whiff": 24.6, "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": 6, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 6, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": 0.723, "recent_form_edge_home_minus_away": -0.334, "pitcher_matchup_edge_home_minus_away": 0.063, "composite_home_edge": 0.8128, "existing_home_win_probability": 0.5761, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.8128}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.576129, "uncapped_away_win_probability": 0.423871, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.576129, "discount_factor": 0.85, "published_confidence": 0.53, "guardrail_confidence_cap": 0.53, "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.53, "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": 4, "home_runs": 6, "predicted_score_text": "SD 4 - 6 MIL", "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": 4, "home_runs": 6, "score_text": "SD 4 - 6 MIL", "winner": "MIL"}, "final_simulation_score": {"away_runs": 4, "home_runs": 6, "score_text": "SD 4 - 6 MIL", "winner": "MIL"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.063, "recent_form_edge_home_minus_away": -0.334, "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": 6, "winner": "MIL", "model_winner": "MIL", "simulation_winner": "MIL", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 1, "published_winner": "MIL", "published_winner_draw_share": 1.0, "draw_majority_team": "MIL", "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": 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": 4, "home_runs": 6}, "simulation_score": {"away_runs": 4, "home_runs": 6}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.723, "winner": "MIL", "score_reviewed": {"away_runs": 4, "home_runs": 6, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "MIL", "display_confidence": 0.53, "internal_signal_score": 0.6585, "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": "neutral_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 2, "winner_quality_edge": 0.723, "winner_recent_form_edge": -0.124, "winner_pitcher_matchup_edge": 0.063, "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.0, "total_runs_spread": {"min": 10, "median": 10, "max": 10, "range": 0}}, "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 predictionSD 4 - 6 MILMIL0.530enhanced_prediction.pre_simulation_targetTrue
Simulation drawSD 4 - 6 MILMIL-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.5507; empirical=0.5579; weight=0.5000; final=0.5543
P1H2H margin as base featureavailablehome net=-7; abs=7; home delta=-0.0404; away delta=0.0404
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=1.1790; recent edge=-0.1240; 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_analysis7
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_ml3.7436.329-Base ML historical model prediction
2variance_applied46-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction560.5300Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment46-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review46-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target46-Capped at max 12 realistic runs
7simulation_result46-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5114207168176449,
  "base_low_score_probability": 0.4257581725088618,
  "low_score_signal_threshold": 0.5057581725088618,
  "low_score_signal_strength": 0.08566254430878312,
  "confidence": 0.7006000000000001,
  "factors": {
    "environmental": 1.05,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.2012000000000003
  },
  "prediction": "low_scoring",
  "expected_total_runs": 10,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 7.0,
  "low_score_model_expected_total_runs": 7.0,
  "final_simulation_total_runs": 10,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 285,
  "near_bucket_sample_size": 285,
  "medium_bucket_sample_size": 417,
  "wide_bucket_sample_size": 882,
  "global_sample_size": 1125,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5579,
  "bayesian_hit_rate": 0.5545,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6451,
  "raw_pick_probability_unclamped": 0.6451,
  "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.5831,
  "score_implied_floor_pick_probability": 0.507,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.645098,
  "uncapped_away_win_probability": 0.354902,
  "calibrated_pick_probability": 0.5799,
  "predicted_side": "home",
  "reliability": 0.940594,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.961386
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.550696,
  "sample_size": 285,
  "empirical_hit_rate": 0.5579,
  "empirical_weight": 0.5,
  "blended_confidence": 0.554298,
  "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": -7.0,
  "absolute_net_margin": 7.0,
  "home_average_margin": -1.4,
  "home_run_delta": -0.0404,
  "away_run_delta": 0.0404,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -9.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": 6.0
    },
    {
      "game_id": null,
      "home_margin": -2.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": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358024691358025,
    "runs_scored": 832,
    "runs_allowed": 618,
    "run_differential": 214,
    "run_differential_per_game": 1.3209876543209877,
    "available": true
  },
  "away": {
    "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
  },
  "run_differential_edge_per_game": 1.0679,
  "win_pct_edge": 0.0741,
  "quality_edge": 0.723,
  "season_quality_edge": 1.179,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 1.179,
    "recent_quality_edge": -0.124,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": 0.723
  },
  "margin_adjustment": 0.3037,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 0.3037,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": 0.723,
    "season_quality_edge": 1.179,
    "recent_alignment": "conflict",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 3.436,
    "home_runs": 6.417,
    "home_win_probability": 0.7533
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.015995938487533404
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.01545657949509333
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.015329711421689577
    },
    {
      "home_runs": 6,
      "away_runs": 5,
      "probability": 0.015265038729009327
    },
    {
      "home_runs": 5,
      "away_runs": 6,
      "probability": 0.015112039256447262
    }
  ],
  "home_distribution": {
    "0": 0.04163467869456087,
    "1": 0.062098513857551475,
    "2": 0.08470706519929076,
    "3": 0.105674573295292,
    "4": 0.12056848661537828,
    "5": 0.12580837579928966,
    "6": 0.12005983459530394,
    "7": 0.10478481837500872,
    "8": 0.0836395000878033,
    "9": 0.06105720656452228,
    "10": 0.04076381976334636,
    "11": 0.024890020459036263,
    "12": 0.013899144616141106,
    "13": 0.007098446816851556,
    "14": 0.0033155152606234553
  },
  "away_distribution": {
    "0": 0.04305153530911173,
    "1": 0.0641529926971978,
    "2": 0.08726944454139246,
    "3": 0.10837385371575123,
    "4": 0.12285811176635984,
    "5": 0.12714525869925203,
    "6": 0.12011950047393098,
    "7": 0.1035962128712133,
    "8": 0.08156263641812865,
    "9": 0.058621327049306816,
    "10": 0.03846245932843129,
    "11": 0.023037506384625633,
    "12": 0.012596529304155715,
    "13": 0.006287577457857363,
    "14": 0.0028650539832850465
  },
  "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",
    "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": "MIL",
    "opponent_team": "SD",
    "h2h_net_margin": -11,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-08-12",
        "predicted_team_runs": 3,
        "opponent_runs": 4,
        "margin_for_predicted_team": -1,
        "winner": "SD"
      },
      {
        "date": "2026-08-11",
        "predicted_team_runs": 2,
        "opponent_runs": 11,
        "margin_for_predicted_team": -9,
        "winner": "SD"
      },
      {
        "date": "2026-08-10",
        "predicted_team_runs": 2,
        "opponent_runs": 3,
        "margin_for_predicted_team": -1,
        "winner": "SD"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 3,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260812",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "SD",
          "actual_winner": "SD",
          "actual_margin": 1,
          "raw_pick_probability": 0.51,
          "artifact": "20260812_MIL@SD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260811",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "SD",
          "actual_margin": 9,
          "raw_pick_probability": 0.51256,
          "artifact": "20260811_MIL@SD.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260810",
          "away": "MIL",
          "home": "SD",
          "game_number": 1,
          "predicted_team": "MIL",
          "actual_winner": "SD",
          "actual_margin": 1,
          "raw_pick_probability": 0.6,
          "artifact": "20260810_MIL@SD.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "MIL",
    "guardrail_opponent_team": "SD",
    "output_pre_simulation_winner": "MIL",
    "output_opponent_team": "SD",
    "simulation_score_winner": "MIL",
    "final_score_winner": "MIL",
    "pre_simulation_winner": "MIL",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "SD 4 - 6 MIL",
      "winner": "MIL"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "SD 4 - 6 MIL",
      "winner": "MIL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.063,
      "recent_form_edge_home_minus_away": -0.334,
      "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": 6,
      "winner": "MIL",
      "model_winner": "MIL",
      "simulation_winner": "MIL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 1,
        "published_winner": "MIL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "MIL",
        "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": 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": 4,
        "home_runs": 6
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 6
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.723,
      "winner": "MIL",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 6,
        "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": "MIL",
      "games": 162,
      "wins": 103,
      "losses": 59,
      "win_pct": 0.6358024691358025,
      "runs_scored": 832,
      "runs_allowed": 618,
      "run_differential": 214,
      "run_differential_per_game": 1.3209876543209877,
      "available": true
    },
    "away": {
      "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
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.723,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.53,
  "final_confidence": 0.5799,
  "calibrated_pick_probability": 0.5799,
  "shrinkage_weight": 0.961386,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 285,
  "calibration_empirical_hit_rate": 0.5579,
  "calibration_bayesian_hit_rate": 0.5545,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.723,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 5,
      "home_runs": 6
    },
    "margin": 1,
    "probability_before": 0.579871,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.961386,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.576129,
    "aligned_pick_probability": 0.576129
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 30,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 6,
    "score_text": "SD 4 - 6 MIL",
    "winner": "MIL"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 6,
    "score_text": "SD 4 - 6 MIL",
    "winner": "MIL"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.063,
    "recent_form_edge_home_minus_away": -0.334,
    "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": 6,
    "winner": "MIL",
    "model_winner": "MIL",
    "simulation_winner": "MIL",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 1,
      "published_winner": "MIL",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "MIL",
      "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": 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": 4,
      "home_runs": 6
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 6
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.723,
    "winner": "MIL",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 6,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 6,
  "confidence": 0.53,
  "home_win_probability": 0.53,
  "away_win_probability": 0.47,
  "predicted_score_text": "SD 4 - 6 MIL",
  "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": "SD",
      "original_runs": 5,
      "run_delta": -0.8995,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.2698136635146207,
        "contact": 0.21332697611885174,
        "power": 0.1847871559509353,
        "discipline": 0.0697000978667646,
        "xwoba": 0.3202727272727273,
        "recent_xwoba": 0.3202727272727273,
        "barrel": 7.663636363636364,
        "ab_hard_contact": 0.08498987226545864,
        "ab_bat_speed": 70.32201883124142,
        "ab_strikeout_rate": 0.21942643775977108,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665487",
            "player_name": "Fernando Tatis Jr.",
            "position": "RF",
            "weight": 4.0,
            "quality": 1.2604590048722752,
            "contact": 1.537598777628673,
            "power": 1.419060078544773,
            "discipline": 0.1520958203101061,
            "xwoba": 0.379,
            "recent_xwoba": 0.379,
            "barrel": 12.7,
            "ab_hard_contact": 0.905772999466876,
            "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.8278487816368972,
            "contact": 0.8372077998185014,
            "power": 1.2214916775618447,
            "discipline": -0.46643139057424765,
            "xwoba": 0.347,
            "recent_xwoba": 0.347,
            "barrel": 12.4,
            "ab_hard_contact": 0.9818335512368941,
            "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.6978572867345045,
            "contact": -0.8198097083609606,
            "power": -0.8736747190478739,
            "discipline": 0.11953346203346207,
            "xwoba": 0.275,
            "recent_xwoba": 0.275,
            "barrel": 3.9,
            "ab_hard_contact": -0.6247324761955773,
            "ab_bat_speed": 68.6986115244709,
            "ab_strikeout_rate": 0.23928571428571427,
            "available": 1.0
          },
          {
            "player_id": "592518",
            "player_name": "Manny Machado",
            "position": "3B",
            "weight": 4.0,
            "quality": 0.4040704502480903,
            "contact": 0.31953569470026355,
            "power": 0.5028812447966452,
            "discipline": 0.33572960715817846,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 9.7,
            "ab_hard_contact": 0.42562489593290964,
            "ab_bat_speed": 73.21585517241378,
            "ab_strikeout_rate": 0.21201814058956917,
            "available": 1.0
          },
          {
            "player_id": "664034",
            "player_name": "Ty France",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.3413400392257214,
            "contact": 0.47219870293994554,
            "power": 0.5963461334628277,
            "discipline": -0.2615933185933186,
            "xwoba": 0.327,
            "recent_xwoba": 0.327,
            "barrel": 9.1,
            "ab_hard_contact": 0.45035124068512516,
            "ab_bat_speed": 70.61850143678161,
            "ab_strikeout_rate": 0.23062678062678063,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "694819",
        "player_name": "Jacob Misiorowski",
        "quality": 1.489349959231257,
        "contact": 1.7358967251160964,
        "command": 1.357965730505165,
        "movement": 2.0,
        "xwoba": 0.226,
        "whiff": 37.3,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "MIL",
      "original_runs": 6,
      "run_delta": 0.4826,
      "adjusted_runs": 6,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.3243626797997229,
        "contact": 0.3860285507742995,
        "power": 0.3513102559994825,
        "discipline": 0.21320051129070614,
        "xwoba": 0.3294242424242424,
        "recent_xwoba": 0.3294242424242424,
        "barrel": 8.445454545454545,
        "ab_hard_contact": 0.2076423494268786,
        "ab_bat_speed": 71.62219393308975,
        "ab_strikeout_rate": 0.23700394641375166,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "641343",
            "player_name": "Jake Bauers",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.9404135644339814,
            "contact": 0.9233392416170212,
            "power": 1.2575631064250319,
            "discipline": 0.6168031792953668,
            "xwoba": 0.371,
            "recent_xwoba": 0.371,
            "barrel": 14.0,
            "ab_hard_contact": 0.5002145094530251,
            "ab_bat_speed": 74.62907635688684,
            "ab_strikeout_rate": 0.2675874255952381,
            "available": 1.0
          },
          {
            "player_id": "669003",
            "player_name": "Garrett Mitchell",
            "position": "CF",
            "weight": 3.0,
            "quality": 0.7615547881076475,
            "contact": 0.8459406760197757,
            "power": 1.077743900070061,
            "discipline": -0.4058871728871727,
            "xwoba": 0.353,
            "recent_xwoba": 0.353,
            "barrel": 11.7,
            "ab_hard_contact": 0.8950684775916906,
            "ab_bat_speed": 75.87857700993676,
            "ab_strikeout_rate": 0.34384920634920635,
            "available": 1.0
          },
          {
            "player_id": "694192",
            "player_name": "Jackson Chourio",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.7295733049708641,
            "contact": 0.7642845085077412,
            "power": 1.106706123946308,
            "discipline": -0.10912777439093235,
            "xwoba": 0.344,
            "recent_xwoba": 0.344,
            "barrel": 12.3,
            "ab_hard_contact": 0.8468843836880706,
            "ab_bat_speed": 73.16599660894661,
            "ab_strikeout_rate": 0.2347326649958229,
            "available": 1.0
          },
          {
            "player_id": "661388",
            "player_name": "William Contreras",
            "position": "C",
            "weight": 4.0,
            "quality": 0.5480632665923718,
            "contact": 0.6240085658408894,
            "power": 0.5457610328830016,
            "discipline": 0.5142107107107108,
            "xwoba": 0.334,
            "recent_xwoba": 0.334,
            "barrel": 8.5,
            "ab_hard_contact": 0.3723635148028898,
            "ab_bat_speed": 72.30946246819339,
            "ab_strikeout_rate": 0.14846560846560847,
            "available": 1.0
          },
          {
            "player_id": "668930",
            "player_name": "Brice Turang",
            "position": "2B",
            "weight": 4.0,
            "quality": 0.4095598851835547,
            "contact": 0.5031618386037058,
            "power": 0.37807434798942086,
            "discipline": 0.5271825756935244,
            "xwoba": 0.344,
            "recent_xwoba": 0.344,
            "barrel": 7.7,
            "ab_hard_contact": 0.3767250550265139,
            "ab_bat_speed": 67.37467774097944,
            "ab_strikeout_rate": 0.24827945776850885,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "592662",
        "player_name": "Robbie Ray",
        "quality": -0.30552916400699986,
        "contact": -0.19747676188239574,
        "command": -0.4233199837805492,
        "movement": -0.47822915871950294,
        "xwoba": 0.335,
        "whiff": 24.6,
        "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": 6,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 6,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 0.723,
      "recent_form_edge_home_minus_away": -0.334,
      "pitcher_matchup_edge_home_minus_away": 0.063,
      "composite_home_edge": 0.8128,
      "existing_home_win_probability": 0.5761,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.8128
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.576129,
  "uncapped_away_win_probability": 0.423871,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.576129,
    "discount_factor": 0.85,
    "published_confidence": 0.53,
    "guardrail_confidence_cap": 0.53,
    "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.53,
    "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": 4,
    "home_runs": 6,
    "predicted_score_text": "SD 4 - 6 MIL",
    "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": 4,
      "home_runs": 6,
      "score_text": "SD 4 - 6 MIL",
      "winner": "MIL"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 6,
      "score_text": "SD 4 - 6 MIL",
      "winner": "MIL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.063,
      "recent_form_edge_home_minus_away": -0.334,
      "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": 6,
      "winner": "MIL",
      "model_winner": "MIL",
      "simulation_winner": "MIL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 1,
        "published_winner": "MIL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "MIL",
        "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": 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": 4,
        "home_runs": 6
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 6
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.723,
      "winner": "MIL",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 6,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "MIL",
    "display_confidence": 0.53,
    "internal_signal_score": 0.6585,
    "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": "neutral_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 2,
      "winner_quality_edge": 0.723,
      "winner_recent_form_edge": -0.124,
      "winner_pitcher_matchup_edge": 0.063,
      "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.0,
      "total_runs_spread": {
        "min": 10,
        "median": 10,
        "max": 10,
        "range": 0
      }
    },
    "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 SDTrue1.02861.0286190
Home MILTrue1.04031.0403190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFDustin Harris-0.9964-0.0484neutral0.31400.27800.36001.7019.5085.2015.6019.3013.207.20-0.3429
3BManny Machado-1.04940.6585neutral0.32800.24300.42009.7043.6090.1014.5025.3021.3011.200.5143
1BTy France-1.03550.4740negative_batter_regression0.32700.24800.42109.1047.4091.5014.6028.1021.607.40-1.3143
RFFernando Tatis Jr.-1.12121.6157neutral0.37900.29600.500012.7053.9092.905.3025.9018.509.100.6000
DHLuis Campusano-1.02060.2740neutral0.32700.23900.39108.1037.7087.3016.302621.4012.10-0.7429
CFJackson Merrill-1.09221.2295neutral0.34700.27000.491012.4048.7091.5014.3027.6024.106.200.7714
CEthan Salas-0.9573-0.5694negative_batter_regression0.22700.18800.31603.3033.3090.1025.7019.4022.502.50-2
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

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
1BJake Bauers-1.09871.3163neutral0.37100.25300.46701451.9092.1012.1029.802716.30-0.2857
LFJackson Chourio-1.07020.9355neutral0.34400.26500.475012.304791.6011.8025.1023.408.20-0.4857
CWilliam Contreras-1.05550.7396neutral0.33400.26100.44108.5044.1090.3013.2020.7014.709.500.1143
RFLuis Lara-0.9964-0.0475neutral0.29300.25600.33103.4041.50885.301721.708.500.2000
2BBrice Turang-1.05120.6822neutral0.34400.25500.42807.7041.6090.308.8023.1025.1013.20-0.4000
3BJoey Ortiz-0.9858-0.1888neutral0.29700.24300.3460437.6089.206.4019.9019.808.40-0.6857
SSCooper Pratt-1.00480.0641neutral0.31500.26600.36203.2027.40879.1021.80189.80-0.1429
DHChristian Yelich-1.01680.2241neutral0.30800.23000.38509.6042.9088.90429.60279.800.0857
CFGarrett Mitchell-1.08361.1148neutral0.35300.26800.447011.7052.7093.202.2035.8031.5011.300.3714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0403,
    "raw_average_factor": 1.0403,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "1B",
        "player_id": "641343",
        "player_name": "Jake Bauers",
        "offense_factor": 1.0987,
        "quality_score": 1.3163,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641343",
          "espn_rank": null
        },
        "metrics": {
          "pa": 526.0,
          "k_percent": 27.0,
          "bb_percent": 16.3,
          "woba": 0.381,
          "xwoba": 0.371,
          "xba": 0.253,
          "xslg": 0.467,
          "sweet_spot_percent": 38.6,
          "barrel_batted_rate": 14.0,
          "hard_hit_percent": 51.9,
          "exit_velocity_avg": 92.1,
          "launch_angle_avg": 12.1,
          "whiff_percent": 29.8,
          "swing_percent": 40.6
        },
        "components": {
          "expected_quality": 1.5771,
          "regression_edge": -0.2857,
          "xwoba_edge": 2.0571,
          "xba_edge": 0.4857,
          "xslg_edge": 1.4857,
          "barrel_edge": 1.6444,
          "hard_hit_edge": 2.0429,
          "exit_velocity_edge": 1.48,
          "sweet_spot_edge": 0.8833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "694192",
        "player_name": "Jackson Chourio",
        "offense_factor": 1.0702,
        "quality_score": 0.9355,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "694192",
          "espn_rank": null
        },
        "metrics": {
          "pa": 523.0,
          "k_percent": 23.4,
          "bb_percent": 8.2,
          "woba": 0.361,
          "xwoba": 0.344,
          "xba": 0.265,
          "xslg": 0.475,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 12.3,
          "hard_hit_percent": 47.0,
          "exit_velocity_avg": 91.6,
          "launch_angle_avg": 11.8,
          "whiff_percent": 25.1,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": 1.1669,
          "regression_edge": -0.4857,
          "xwoba_edge": 1.2857,
          "xba_edge": 0.8286,
          "xslg_edge": 1.6,
          "barrel_edge": 1.2667,
          "hard_hit_edge": 1.3429,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "661388",
        "player_name": "William Contreras",
        "offense_factor": 1.0555,
        "quality_score": 0.7396,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "661388",
          "espn_rank": null
        },
        "metrics": {
          "pa": 590.0,
          "k_percent": 14.7,
          "bb_percent": 9.5,
          "woba": 0.33,
          "xwoba": 0.334,
          "xba": 0.261,
          "xslg": 0.441,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.5,
          "hard_hit_percent": 44.1,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 13.2,
          "whiff_percent": 20.7,
          "swing_percent": 47.2
        },
        "components": {
          "expected_quality": 0.8414,
          "regression_edge": 0.1143,
          "xwoba_edge": 1.0,
          "xba_edge": 0.7143,
          "xslg_edge": 1.1143,
          "barrel_edge": 0.4222,
          "hard_hit_edge": 0.9286,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "800325",
        "player_name": "Luis Lara",
        "offense_factor": 0.9964,
        "quality_score": -0.0475,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "800325",
          "espn_rank": null
        },
        "metrics": {
          "pa": 184.0,
          "k_percent": 21.7,
          "bb_percent": 8.5,
          "woba": 0.286,
          "xwoba": 0.293,
          "xba": 0.256,
          "xslg": 0.331,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 3.4,
          "hard_hit_percent": 41.5,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 5.3,
          "whiff_percent": 17.0,
          "swing_percent": 42.1
        },
        "components": {
          "expected_quality": -0.0986,
          "regression_edge": 0.2,
          "xwoba_edge": -0.1714,
          "xba_edge": 0.5714,
          "xslg_edge": -0.4571,
          "barrel_edge": -0.7111,
          "hard_hit_edge": 0.5571,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "668930",
        "player_name": "Brice Turang",
        "offense_factor": 1.0512,
        "quality_score": 0.6822,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668930",
          "espn_rank": null
        },
        "metrics": {
          "pa": 619.0,
          "k_percent": 25.1,
          "bb_percent": 13.2,
          "woba": 0.358,
          "xwoba": 0.344,
          "xba": 0.255,
          "xslg": 0.428,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 41.6,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 8.8,
          "whiff_percent": 23.1,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 0.8584,
          "regression_edge": -0.4,
          "xwoba_edge": 1.2857,
          "xba_edge": 0.5429,
          "xslg_edge": 0.9286,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.5714,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "687401",
        "player_name": "Joey Ortiz",
        "offense_factor": 0.9858,
        "quality_score": -0.1888,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "687401",
          "espn_rank": null
        },
        "metrics": {
          "pa": 378.0,
          "k_percent": 19.8,
          "bb_percent": 8.4,
          "woba": 0.321,
          "xwoba": 0.297,
          "xba": 0.243,
          "xslg": 0.346,
          "sweet_spot_percent": 29.2,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 37.6,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 6.4,
          "whiff_percent": 19.9,
          "swing_percent": 44.8
        },
        "components": {
          "expected_quality": -0.1079,
          "regression_edge": -0.6857,
          "xwoba_edge": -0.0571,
          "xba_edge": 0.2,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.5778,
          "hard_hit_edge": 0.0,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.6833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "806198",
        "player_name": "Cooper Pratt",
        "offense_factor": 1.0048,
        "quality_score": 0.0641,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "806198",
          "espn_rank": null
        },
        "metrics": {
          "pa": 232.0,
          "k_percent": 18.0,
          "bb_percent": 9.8,
          "woba": 0.32,
          "xwoba": 0.315,
          "xba": 0.266,
          "xslg": 0.362,
          "sweet_spot_percent": 41.1,
          "barrel_batted_rate": 3.2,
          "hard_hit_percent": 27.4,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 9.1,
          "whiff_percent": 21.8,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 0.0977,
          "regression_edge": -0.1429,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.8571,
          "xslg_edge": -0.0143,
          "barrel_edge": -0.7556,
          "hard_hit_edge": -1.4571,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 1.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "592885",
        "player_name": "Christian Yelich",
        "offense_factor": 1.0168,
        "quality_score": 0.2241,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "592885",
          "espn_rank": null
        },
        "metrics": {
          "pa": 456.0,
          "k_percent": 27.0,
          "bb_percent": 9.8,
          "woba": 0.305,
          "xwoba": 0.308,
          "xba": 0.23,
          "xslg": 0.385,
          "sweet_spot_percent": 29.5,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 42.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 4.0,
          "whiff_percent": 29.6,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.2466,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.2571,
          "xba_edge": -0.1714,
          "xslg_edge": 0.3143,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 0.7571,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "669003",
        "player_name": "Garrett Mitchell",
        "offense_factor": 1.0836,
        "quality_score": 1.1148,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669003",
          "espn_rank": null
        },
        "metrics": {
          "pa": 480.0,
          "k_percent": 31.5,
          "bb_percent": 11.3,
          "woba": 0.34,
          "xwoba": 0.353,
          "xba": 0.268,
          "xslg": 0.447,
          "sweet_spot_percent": 31.5,
          "barrel_batted_rate": 11.7,
          "hard_hit_percent": 52.7,
          "exit_velocity_avg": 93.2,
          "launch_angle_avg": 2.2,
          "whiff_percent": 35.8,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.2358,
          "regression_edge": 0.3714,
          "xwoba_edge": 1.5429,
          "xba_edge": 0.9143,
          "xslg_edge": 1.2,
          "barrel_edge": 1.1333,
          "hard_hit_edge": 2.1571,
          "exit_velocity_edge": 1.92,
          "sweet_spot_edge": -0.3,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0286,
    "raw_average_factor": 1.0286,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "687957",
        "player_name": "Dustin Harris",
        "offense_factor": 0.9964,
        "quality_score": -0.0484,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "687957",
          "espn_rank": null
        },
        "metrics": {
          "pa": 105.0,
          "k_percent": 13.2,
          "bb_percent": 7.2,
          "woba": 0.326,
          "xwoba": 0.314,
          "xba": 0.278,
          "xslg": 0.36,
          "sweet_spot_percent": 39.8,
          "barrel_batted_rate": 1.7,
          "hard_hit_percent": 19.5,
          "exit_velocity_avg": 85.2,
          "launch_angle_avg": 15.6,
          "whiff_percent": 19.3,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": -0.0621,
          "regression_edge": -0.3429,
          "xwoba_edge": 0.4286,
          "xba_edge": 1.2,
          "xslg_edge": -0.0429,
          "barrel_edge": -1.0889,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.28,
          "sweet_spot_edge": 1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "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": "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": "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": "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
        }
      },
      {
        "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": "C",
        "player_id": "806956",
        "player_name": "Ethan Salas",
        "offense_factor": 0.9573,
        "quality_score": -0.5694,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "806956",
          "espn_rank": null
        },
        "metrics": {
          "pa": 20.0,
          "k_percent": 22.5,
          "bb_percent": 2.5,
          "woba": 0.316,
          "xwoba": 0.227,
          "xba": 0.188,
          "xslg": 0.316,
          "sweet_spot_percent": 23.3,
          "barrel_batted_rate": 3.3,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 25.7,
          "whiff_percent": 19.4,
          "swing_percent": 48.3
        },
        "components": {
          "expected_quality": -1.1458,
          "regression_edge": -2.0,
          "xwoba_edge": -2.0571,
          "xba_edge": -1.3714,
          "xslg_edge": -0.6714,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -0.6143,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": -1.6667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "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
        }
      }
    ],
    "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 SDTrue--0.317111.02700.98401.05601.0311neutral0.33500.315019.901224.60837.40
Home MILTrue-1.358910.88451.15940.94800.8360neutral0.22600.216037.906.6037.303.6033.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away SDTrueNone8888.50213700000000-0.0765
Home MILTrueNone9197.542569000000000.2800
Run FactorValue
away_runs_vs_home_pitcher0.9282
home_runs_vs_away_pitcher1.0159
home_pitcher_starter_only_factor0.8845
away_pitcher_starter_only_factor1.0270
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.5556
home_pitcher_quality_edge1.0821
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "694819",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 614.0,
      "k_percent": 37.9,
      "bb_percent": 6.6,
      "woba": 0.216,
      "xwoba": 0.226,
      "sweet_spot_percent": 33.9,
      "barrel_batted_rate": 3.6,
      "hard_hit_percent": 33.3,
      "avg_best_speed": 76.4985,
      "avg_hyper_speed": 92.9527,
      "whiff_percent": 37.3,
      "swing_percent": 51.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.6247,
      "command_and_miss": 1.7507,
      "regression_edge": -0.2857,
      "xwoba_edge": 2.4571,
      "barrel_edge": 0.8,
      "hard_hit_edge": 0.6571,
      "whiff_edge": 1.7286,
      "bb_edge": 0.65,
      "pitch_design_score": 0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "694819",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 91,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 91,
        "pitch_usage": 0.0,
        "release_speed": 97.5350871630707,
        "release_spin_rate": 2568.640260744372,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 91,
          "pitch_usage": 0.0,
          "release_speed": 97.5350871630707,
          "release_spin_rate": 2568.640260744372,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 97.5351,
        "release_spin_rate": 2568.6403,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "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.3589,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.8845,
    "strikeout_factor": 1.1594,
    "walk_factor": 0.948,
    "homer_factor": 0.836,
    "woba_minus_xwoba": -0.01,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "694819",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "592662",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 657.0,
      "k_percent": 19.9,
      "bb_percent": 12.0,
      "woba": 0.315,
      "xwoba": 0.335,
      "sweet_spot_percent": 33.2,
      "barrel_batted_rate": 8.0,
      "hard_hit_percent": 37.4,
      "avg_best_speed": 78.7395,
      "avg_hyper_speed": 93.9885,
      "whiff_percent": 24.6,
      "swing_percent": 46.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.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.3086,
      "command_and_miss": -0.3114,
      "regression_edge": -0.5714,
      "xwoba_edge": -0.6571,
      "barrel_edge": -0.1778,
      "hard_hit_edge": 0.0714,
      "whiff_edge": -0.0857,
      "bb_edge": -0.7,
      "pitch_design_score": -0.0765
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "592662",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 88,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 88,
        "pitch_usage": 0.0,
        "release_speed": 88.49794587706354,
        "release_spin_rate": 2136.9723176433495,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 88,
          "pitch_usage": 0.0,
          "release_speed": 88.49794587706354,
          "release_spin_rate": 2136.9723176433495,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.4979,
        "release_spin_rate": 2136.9723,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0765,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.5465,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3171,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.027,
    "strikeout_factor": 0.984,
    "walk_factor": 1.056,
    "homer_factor": 1.0311,
    "woba_minus_xwoba": -0.02,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "592662",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9282,
    "home_runs_vs_away_pitcher": 1.0159,
    "home_pitcher_starter_only_factor": 0.8845,
    "away_pitcher_starter_only_factor": 1.027,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": 1.0821
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 6.0
  },
  "score_after": {
    "away_runs": 3.7128,
    "home_runs": 6.0953,
    "home_win_probability": 0.722
  },
  "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 SD8-20.8006.304.50182Whotaverage
Home MIL8-20.8004.403145Waveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away SD91-710.562410.253True
Home MIL103-590.6362141.321True
Signal--1.0680.723applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-12MIL @ SD3 - 4SD1close
2026-08-11MIL @ SD2 - 11SD9blowout
2026-08-10MIL @ SD2 - 3SD1close
2026-05-14SD @ MIL1 - 7MIL6blowout
2026-05-13SD @ MIL3 - 1SD2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target SD--4----
Game target MIL--6----
Player finalized SD337514310
Player finalized MIL33851559
Player model fractional SD32.857.494.461.184.502.678.74
Player model fractional MIL33.708.515.141.035.404.548.27
Simulation box SD371041447
Simulation box MIL32863635

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 SDStarterRobbie Ray534614.951.47True
Away SDMiddle Reliever (High Leverage)Bradgley Rodriguez1.2000011.550.92True
Away SDCloserMason Miller110104.931.36True
Away SDSetup ManAdrian Morejon0.1021112.441.11True
Home MILStarterJacob Misiorowski616442.541.03True
Home MILMiddle Reliever (High Leverage)Aaron Ashby120303.081.03True
Home MILSetup ManAbner Uribe100202.111.16True
Home MILCloserTrevor Megill111103.971.00True
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
homeMILpitcherStarterJacob Misiorowskibetter11010predicted_SO2.0000boostbetter
homeMILpitcherSetup ManAbner Uribeworse10101predicted_SO-2.0000deboostworse
awaySDbatter1BTy Francebetter126675predicted_H1.7900boostbetter
homeMILbatter2BBrice Turangbetter105564predicted_AB-1.6600deboostworse
awaySDbatterCFJackson Merrillworse102828predicted_H-1.5000deboostworse
awaySDbatterCEthan Salasworse113829predicted_AB1.5000boostbetter
homeMILbatter1BJake Bauersbetter97263predicted_RBI1.4900boostbetter
awaySDbatterLFDustin Harrisworse113829predicted_AB1.4500boostbetter
awaySDbatterSSXander Bogaertsworse82617predicted_SO1.2900boostworse
awaySDbatter3BManny Machadobetter105564predicted_RBI1.2300boostbetter
homeMILbatterDHChristian Yelichworse90918predicted_SO-1.1490deboostbetter
homeMILbatter3BJoey Ortizbetter127584predicted_AB-1.1290deboostworse
homeMILbatterLFJackson Chourioworse113847predicted_AB-1.1200deboostworse
homeMILbatterSSCooper Prattbetter107382predicted_H1.1200boostbetter
homeMILbatterCWilliam Contrerasworse114738predicted_RBI-0.9900deboostworse
awaySDbatterRFFernando Tatis Jr.boosted106455predicted_AB-0.9600deboostworse
homeMILbatterRFLuis Laraworse101928predicted_H-0.8360deboostworse
homeMILbatterCFGarrett Mitchellworse112938predicted_H-0.8200deboostworse
awaySDbatterDHLuis Campusanoworse113847predicted_SO-0.7460deboostbetter
awaySDbatter2BJake Cronenworthworse103728predicted_RBI-0.5500deboostworse
awaySDpitcherSetup ManAdrian Morejonworse10101predicted_IP-0.2333deboostworse
awaySDpitcherMiddle Reliever (High Leverage)Bradgley Rodriguezworse10101predicted_IP-0.1333deboostworse

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

Away Team: SD

Away Pitcher Deep Analysis

FieldValue
PitcherRobbie Ray
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3171
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0765
Avg Velo88.4979
Avg Spin2136.9723
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER3
Pre H6
Pre BB1
Pre SO4
Season ERA3.5855
Season WHIP1.3521
Role Avg IP5.3110
Recent Avg IP4.5330
Last Start IP3.1000
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.992,
    "defense_index": 1.0687,
    "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": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "edges": {
    "quality_edge": -0.1938,
    "offense_edge": -0.008,
    "opponent_offense_edge": 0.1432,
    "defense_strength": 0.0687,
    "opponent_defense_weakness": -0.1777,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9886,
    "run_prevention": 1.0257,
    "strikeout": 0.9827
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592662",
    "profile": {
      "available": true,
      "pitcher_id": "592662",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 657.0,
        "k_percent": 19.9,
        "bb_percent": 12.0,
        "woba": 0.315,
        "xwoba": 0.335,
        "sweet_spot_percent": 33.2,
        "barrel_batted_rate": 8.0,
        "hard_hit_percent": 37.4,
        "avg_best_speed": 78.7395,
        "avg_hyper_speed": 93.9885,
        "whiff_percent": 24.6,
        "swing_percent": 46.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.3086,
        "command_and_miss": -0.3114,
        "regression_edge": -0.5714,
        "xwoba_edge": -0.6571,
        "barrel_edge": -0.1778,
        "hard_hit_edge": 0.0714,
        "whiff_edge": -0.0857,
        "bb_edge": -0.7,
        "pitch_design_score": -0.0765
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592662",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 88,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 88,
          "pitch_usage": 0.0,
          "release_speed": 88.49794587706354,
          "release_spin_rate": 2136.9723176433495,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 88,
            "pitch_usage": 0.0,
            "release_speed": 88.49794587706354,
            "release_spin_rate": 2136.9723176433495,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4979,
          "release_spin_rate": 2136.9723,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0765,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5465,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3171,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.027,
      "strikeout_factor": 0.984,
      "walk_factor": 1.056,
      "homer_factor": 1.0311,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "592662",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.027,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.027,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.056,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0311,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.984,
        "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": 49.0,
    "ER": 25,
    "H": 43,
    "BB": 28,
    "SO": 39,
    "HR": 7,
    "ERA": 4.591836734693878,
    "WHIP": 1.4489795918367347,
    "K9": 7.163265306122449,
    "HR9": 1.2857142857142858,
    "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-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592662",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 88,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 88,
    "pitch_usage": 0.0,
    "release_speed": 88.49794587706354,
    "release_spin_rate": 2136.9723176433495,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 88,
      "pitch_usage": 0.0,
      "release_speed": 88.49794587706354,
      "release_spin_rate": 2136.9723176433495,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4979,
    "release_spin_rate": 2136.9723,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0765,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5465,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592662",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.2,
        "ER": 15.0,
        "R": 15.0,
        "H": 22.0,
        "BB": 14.0,
        "SO": 18.0,
        "HR": 3.0,
        "BF": 102.0,
        "Pitches": 427.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.4,
        "BB": 2.8,
        "SO": 3.6,
        "HR": 0.6,
        "BF": 20.4,
        "Pitches": 85.4
      },
      "rates": {
        "ERA": 5.9559,
        "WHIP": 1.5882,
        "ER_per_IP": 0.66176,
        "H_per_IP": 0.97059,
        "BB_per_IP": 0.61765,
        "SO_per_IP": 0.79412,
        "HR_per_IP": 0.13235
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 49.0,
        "ER": 25.0,
        "R": 25.0,
        "H": 43.0,
        "BB": 28.0,
        "SO": 39.0,
        "HR": 7.0,
        "BF": 212.0,
        "Pitches": 879.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.5,
        "R": 2.5,
        "H": 4.3,
        "BB": 2.8,
        "SO": 3.9,
        "HR": 0.7,
        "BF": 21.2,
        "Pitches": 87.9
      },
      "rates": {
        "ERA": 4.5918,
        "WHIP": 1.449,
        "ER_per_IP": 0.5102,
        "H_per_IP": 0.87755,
        "BB_per_IP": 0.57143,
        "SO_per_IP": 0.79592,
        "HR_per_IP": 0.14286
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 165.2,
        "ER": 66.0,
        "R": 74.0,
        "H": 140.0,
        "BB": 84.0,
        "SO": 140.0,
        "HR": 22.0,
        "BF": 702.0,
        "Pitches": 2854.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.129,
        "R": 2.3871,
        "H": 4.5161,
        "BB": 2.7097,
        "SO": 4.5161,
        "HR": 0.7097,
        "BF": 22.6452,
        "Pitches": 92.0645
      },
      "rates": {
        "ERA": 3.5855,
        "WHIP": 1.3521,
        "ER_per_IP": 0.39839,
        "H_per_IP": 0.84507,
        "BB_per_IP": 0.50704,
        "SO_per_IP": 0.84507,
        "HR_per_IP": 0.1328
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.71,
    "predicted_H": 4.548,
    "predicted_BB": 2.718,
    "predicted_SO": 4.055,
    "predicted_HR": 0.679,
    "predicted_ERA": 4.9495,
    "predicted_WHIP": 1.4744
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4087,
  "form_weight": 0.5913,
  "form_reliability": 0.8611,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.71,
      "final": 2.8285,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 4.548,
      "final": 5.1414,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.718,
      "final": 2.0159,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 4.055,
      "final": 4.0325,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.679,
      "final": 0.8102,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.9495,
      "final": 4.9495,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4744,
      "final": 1.4744,
      "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.0316
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2363
Avg Velo94.0841
Avg Spin2133.0307
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.2000
Pre ER0
Pre H0
Pre BB1
Pre SO0
Season ERA1.6652
Season WHIP0.9648
Role Avg IP1.1380
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.992,
    "defense_index": 1.0687,
    "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": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "edges": {
    "quality_edge": -0.1938,
    "offense_edge": -0.008,
    "opponent_offense_edge": 0.1432,
    "defense_strength": 0.0687,
    "opponent_defense_weakness": -0.1777,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9886,
    "run_prevention": 1.0257,
    "strikeout": 0.9827
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.3532,
        "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": 20,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 20,
          "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": 20,
            "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.0316,
      "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": 12.1,
    "ER": 1,
    "H": 6,
    "BB": 3,
    "SO": 15,
    "HR": 1,
    "ERA": 0.7297297297297297,
    "WHIP": 0.7297297297297297,
    "K9": 10.945945945945946,
    "HR9": 0.7297297297297297,
    "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-30T00: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": 20,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 20,
    "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": 20,
      "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.595,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7572,
    "prior_weight": 0.2428
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "699134",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 67,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 28.0,
        "Pitches": 111.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.6,
        "Pitches": 22.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.7826,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.3913,
        "BB_per_IP": 0.3913,
        "SO_per_IP": 1.17391,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 181.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.6,
        "BB": 0.3,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 18.1
      },
      "rates": {
        "ERA": 0.675,
        "WHIP": 0.675,
        "ER_per_IP": 0.075,
        "H_per_IP": 0.45,
        "BB_per_IP": 0.225,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.075
      }
    },
    "season": {
      "games": 67,
      "totals": {
        "IP": 75.2,
        "ER": 14.0,
        "R": 18.0,
        "H": 53.0,
        "BB": 20.0,
        "SO": 83.0,
        "HR": 4.0,
        "BF": 301.0,
        "Pitches": 1182.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.209,
        "R": 0.2687,
        "H": 0.791,
        "BB": 0.2985,
        "SO": 1.2388,
        "HR": 0.0597,
        "BF": 4.4925,
        "Pitches": 17.6418
      },
      "rates": {
        "ERA": 1.6652,
        "WHIP": 0.9648,
        "ER_per_IP": 0.18502,
        "H_per_IP": 0.70044,
        "BB_per_IP": 0.26432,
        "SO_per_IP": 1.09692,
        "HR_per_IP": 0.05286
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.241,
    "predicted_H": 0.835,
    "predicted_BB": 0.454,
    "predicted_SO": 1.551,
    "predicted_HR": 0.089,
    "predicted_ERA": 1.5502,
    "predicted_WHIP": 0.9227
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4526,
  "form_weight": 0.5474,
  "form_reliability": 0.7572,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.595,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7572,
    "prior_weight": 0.2428
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.241,
      "final": 0.1319,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.835,
      "final": 0.4571,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.454,
      "final": 0.7011,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.551,
      "final": 0.849,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.089,
      "final": 0.0487,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.5502,
      "final": 1.5502,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9227,
      "final": 0.9227,
      "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.4216
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA1.6479
Season WHIP0.9014
Role Avg IP1.0600
Recent Avg IP1
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.992,
    "defense_index": 1.0687,
    "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": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "edges": {
    "quality_edge": -0.1938,
    "offense_edge": -0.008,
    "opponent_offense_edge": 0.1432,
    "defense_strength": 0.0687,
    "opponent_defense_weakness": -0.1777,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9886,
    "run_prevention": 1.0257,
    "strikeout": 0.9827
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6353,
        "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.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "695243",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 1.4216,
      "sample_weight": 0.98,
      "run_prevention_factor": 0.8792,
      "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.8816,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.8816,
        "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": 9,
    "BB": 5,
    "SO": 20,
    "HR": 1,
    "ERA": 4.218749999999999,
    "WHIP": 1.3124999999999998,
    "K9": 16.874999999999996,
    "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-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "695243",
  "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": 14.633,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7453,
    "prior_weight": 0.2547
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "695243",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 67,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 7.2,
        "WHIP": 1.6,
        "ER_per_IP": 0.8,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.6,
        "SO_per_IP": 1.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 20.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 184.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.9,
        "BB": 0.5,
        "SO": 2.0,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 4.2188,
        "WHIP": 1.3125,
        "ER_per_IP": 0.46875,
        "H_per_IP": 0.84375,
        "BB_per_IP": 0.46875,
        "SO_per_IP": 1.875,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 67,
      "totals": {
        "IP": 71.0,
        "ER": 13.0,
        "R": 16.0,
        "H": 38.0,
        "BB": 26.0,
        "SO": 131.0,
        "HR": 3.0,
        "BF": 276.0,
        "Pitches": 1168.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.194,
        "R": 0.2388,
        "H": 0.5672,
        "BB": 0.3881,
        "SO": 1.9552,
        "HR": 0.0448,
        "BF": 4.1194,
        "Pitches": 17.4328
      },
      "rates": {
        "ERA": 1.6479,
        "WHIP": 0.9014,
        "ER_per_IP": 0.1831,
        "H_per_IP": 0.53521,
        "BB_per_IP": 0.3662,
        "SO_per_IP": 1.84507,
        "HR_per_IP": 0.04225
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.548,
    "predicted_H": 0.886,
    "predicted_BB": 0.475,
    "predicted_SO": 1.538,
    "predicted_HR": 0.068,
    "predicted_ERA": 4.9349,
    "predicted_WHIP": 1.3606
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4576,
  "form_weight": 0.5424,
  "form_reliability": 0.7453,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.633,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7453,
    "prior_weight": 0.2547
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.548,
      "final": 0.7548,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.886,
      "final": 0.9382,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.475,
      "final": 0.2576,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.538,
      "final": 0.8342,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.068,
      "final": 0.4945,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.9349,
      "final": 4.9349,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3606,
      "final": 1.3606,
      "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.1536
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP0.1000
Pre ER2
Pre H1
Pre BB1
Pre SO1
Season ERA2.7614
Season WHIP1.0682
Role Avg IP1.1430
Recent Avg IP1.2000
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.992,
    "defense_index": 1.0687,
    "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": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "edges": {
    "quality_edge": -0.1938,
    "offense_edge": -0.008,
    "opponent_offense_edge": 0.1432,
    "defense_strength": 0.0687,
    "opponent_defense_weakness": -0.1777,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9886,
    "run_prevention": 1.0257,
    "strikeout": 0.9827
  },
  "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.5398,
        "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.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "670970",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 1.1536,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9019,
      "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.9019,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9019,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.976,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8266,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0989,
        "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.1,
    "ER": 2,
    "H": 5,
    "BB": 4,
    "SO": 12,
    "HR": 0,
    "ERA": 1.741935483870968,
    "WHIP": 0.870967741935484,
    "K9": 10.451612903225808,
    "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-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "670970",
  "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": 18.136,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7839,
    "prior_weight": 0.2161
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670970",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 77,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 88.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 17.6
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.1667,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.66667,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 39.0,
        "Pitches": 134.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.5,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.9,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 0.871,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.48387,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 77,
      "totals": {
        "IP": 88.0,
        "ER": 27.0,
        "R": 32.0,
        "H": 66.0,
        "BB": 28.0,
        "SO": 107.0,
        "HR": 4.0,
        "BF": 358.0,
        "Pitches": 1347.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3506,
        "R": 0.4156,
        "H": 0.8571,
        "BB": 0.3636,
        "SO": 1.3896,
        "HR": 0.0519,
        "BF": 4.6494,
        "Pitches": 17.4935
      },
      "rates": {
        "ERA": 2.7614,
        "WHIP": 1.0682,
        "ER_per_IP": 0.30682,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.31818,
        "SO_per_IP": 1.21591,
        "HR_per_IP": 0.04545
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.264,
    "predicted_H": 0.622,
    "predicted_BB": 0.461,
    "predicted_SO": 1.036,
    "predicted_HR": 0.038,
    "predicted_ERA": 2.4361,
    "predicted_WHIP": 1.1127
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4413,
  "form_weight": 0.5587,
  "form_reliability": 0.7839,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.136,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7839,
    "prior_weight": 0.2161
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.264,
      "final": 1.0301,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.622,
      "final": 0.7888,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.461,
      "final": 0.6989,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.036,
      "final": 1.0201,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.038,
      "final": 0.4625,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4361,
      "final": 2.4361,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1127,
      "final": 1.1127,
      "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."
}
Dustin Harris (687957) · BATTER · LF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 72
All-history rows before 20261003: 72
System season_avg: 0.2810
Data season_avg (2026 season-to-date): 0.3538
Diff (system - data): -0.0728
System opponent_avg: 0.2810
System season_avg diverges from 2026 season-to-date by -0.0728. 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.0950.0000.000Hitting_2B0.1530.000-0.1530.000
predicted_3B0.0950.0000.000Hitting_3B0.1390.000-0.1390.000
predicted_AB3.5505.0004.000Hitting_AB3.6114.0001.3891.000
predicted_AVG0.2790.0000.250Hitting_AVG0.3540.000-0.3540.000
predicted_BB0.2140.0000.000Hitting_BB0.2220.000-0.2220.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.9900.0001.000Hitting_H1.2780.000-1.2780.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3190.0000.250Hitting_OBP0.3870.000-0.3870.000
predicted_R0.5480.0001.000Hitting_R0.6810.000-0.6810.000
predicted_RBI0.3600.0000.000Hitting_RBI0.7780.000-0.7780.000
predicted_SLG0.3630.0000.250Hitting_SLG0.4730.000-0.4730.000
predicted_SO0.4761.0001.000Hitting_SO0.4580.0000.5421.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_AB: 3.5500 -> 5.0000 (boost 1.4500, better)
Biggest Deboostpredicted_H: 0.9900 -> 0.0000 (deboost -0.9900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model 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.3670 -> 0.3728 (boost 0.0058, better)predicted_OBP: 0.3196 -> 0.3101 (deboost -0.0095, 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: 0.4692 -> 1.0000 (boost 0.5308, worse)predicted_RBI: 0.3367 -> 0.0000 (deboost -0.3367, worse)AB rounded to 4 (raw=3.55), rates preserved: AVG=0.224 HR/AB=0.007
6consistency_constraints11010predicted_R: 0.5615 -> 1.0000 (boost 0.4385, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5122 (boost 0.5122, better)predicted_H: 1.0000 -> 0.8067 (deboost -0.1933, 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.8067 -> 1.0000 (boost 0.1933, better)predicted_RBI: 0.5122 -> 0.0000 (deboost -0.5122, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2693 -> 0.2080 (deboost -0.0613, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31212predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2080 -> 0.2693 (boost 0.0613, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687957",
  "player_name": "Dustin Harris",
  "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.095,
        "predicted_3B": 0.095,
        "predicted_AB": 3.55,
        "predicted_AVG": 0.279,
        "predicted_BB": 0.214,
        "predicted_H": 0.99,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.319,
        "predicted_R": 0.548,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.363,
        "predicted_SO": 0.476
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.095,
        "predicted_3B": 0.097,
        "predicted_AB": 3.5263,
        "predicted_AVG": 0.2757,
        "predicted_BB": 0.2096,
        "predicted_H": 0.9719,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.026,
        "predicted_OBP": 0.3196,
        "predicted_R": 0.5837,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.367,
        "predicted_SO": 0.4664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.095,
          "after": 0.095,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.095,
          "after": 0.097,
          "delta": 0.002,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.55,
          "after": 3.5263,
          "delta": -0.0237,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.2757,
          "delta": -0.0033,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.214,
          "after": 0.2096,
          "delta": -0.0044,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9719,
          "delta": -0.0181,
          "percent_delta": -0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.026,
          "delta": -0.004,
          "percent_delta": -0.1333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3196,
          "delta": 0.0006,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.548,
          "after": 0.5837,
          "delta": 0.0357,
          "percent_delta": 0.0651,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.35,
          "delta": -0.01,
          "percent_delta": -0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.367,
          "delta": 0.004,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.476,
          "after": 0.4664,
          "delta": -0.0096,
          "percent_delta": -0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 42
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.095,
        "predicted_3B": 0.097,
        "predicted_AB": 3.5263,
        "predicted_AVG": 0.2693,
        "predicted_BB": 0.2083,
        "predicted_H": 0.9497,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.0253,
        "predicted_OBP": 0.3101,
        "predicted_R": 0.5615,
        "predicted_RBI": 0.3367,
        "predicted_SLG": 0.3728,
        "predicted_SO": 0.4692
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.095,
          "after": 0.095,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.097,
          "after": 0.097,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5263,
          "after": 3.5263,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2757,
          "after": 0.2693,
          "delta": -0.0064,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2096,
          "after": 0.2083,
          "delta": -0.0013,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9719,
          "after": 0.9497,
          "delta": -0.0222,
          "percent_delta": -0.0228,
          "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.026,
          "after": 0.0253,
          "delta": -0.0007,
          "percent_delta": -0.0269,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3196,
          "after": 0.3101,
          "delta": -0.0095,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5837,
          "after": 0.5615,
          "delta": -0.0222,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.3367,
          "delta": -0.0133,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3728,
          "delta": 0.0058,
          "percent_delta": 0.0158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4664,
          "after": 0.4692,
          "delta": 0.0028,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3728,
          "delta": 0.0058,
          "percent_delta": 0.0158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3196,
          "after": 0.3101,
          "delta": -0.0095,
          "percent_delta": -0.0297,
          "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.55), rates preserved: AVG=0.224 HR/AB=0.007",
      "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.095,
          "after": 0.0,
          "delta": -0.095,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.097,
          "after": 0.0,
          "delta": -0.097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5263,
          "after": 4.0,
          "delta": 0.4737,
          "percent_delta": 0.1343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2083,
          "after": 0.0,
          "delta": -0.2083,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9497,
          "after": 1.0,
          "delta": 0.0503,
          "percent_delta": 0.053,
          "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.0253,
          "after": 0.0,
          "delta": -0.0253,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3367,
          "after": 0.0,
          "delta": -0.3367,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4692,
          "after": 1.0,
          "delta": 0.5308,
          "percent_delta": 1.1313,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.4692,
          "after": 1.0,
          "delta": 0.5308,
          "percent_delta": 1.1313,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3367,
          "after": 0.0,
          "delta": -0.3367,
          "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.5615,
          "after": 1.0,
          "delta": 0.4385,
          "percent_delta": 0.7809,
          "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.5615,
          "after": 1.0,
          "delta": 0.4385,
          "percent_delta": 0.7809,
          "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.1687,
        "predicted_3B": 0.0213,
        "predicted_BB": 0.3113,
        "predicted_H": 0.8067,
        "predicted_HR": 0.0793,
        "predicted_RBI": 0.5122,
        "predicted_SO": 0.9047
      },
      "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.3113,
          "delta": 0.3113,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8067,
          "delta": -0.1933,
          "percent_delta": -0.1933,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0793,
          "delta": 0.0793,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5122,
          "delta": 0.5122,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9047,
          "delta": -0.0953,
          "percent_delta": -0.0953,
          "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.5122,
          "delta": 0.5122,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8067,
          "delta": -0.1933,
          "percent_delta": -0.1933,
          "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.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3113,
          "after": 0.0,
          "delta": -0.3113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8067,
          "after": 1.0,
          "delta": 0.1933,
          "percent_delta": 0.2396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0793,
          "after": 0.0,
          "delta": -0.0793,
          "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.5122,
          "after": 0.0,
          "delta": -0.5122,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9047,
          "after": 1.0,
          "delta": 0.0953,
          "percent_delta": 0.1053,
          "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.8067,
          "after": 1.0,
          "delta": 0.1933,
          "percent_delta": 0.2396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5122,
          "after": 0.0,
          "delta": -0.5122,
          "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.272,
        "predicted_R": 1.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2693,
          "after": 0.208,
          "delta": -0.0613,
          "percent_delta": -0.2276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3101,
          "after": 0.272,
          "delta": -0.0381,
          "percent_delta": -0.1229,
          "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.3728,
          "after": 0.323,
          "delta": -0.0498,
          "percent_delta": -0.1336,
          "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.2693,
          "after": 0.208,
          "delta": -0.0613,
          "percent_delta": -0.2276,
          "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": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2693,
        "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.3101,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3728,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.208,
          "after": 0.2693,
          "delta": 0.0613,
          "percent_delta": 0.2949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.272,
          "after": 0.3101,
          "delta": 0.0381,
          "percent_delta": 0.14,
          "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.323,
          "after": 0.3728,
          "delta": 0.0498,
          "percent_delta": 0.1541,
          "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.208,
          "after": 0.2693,
          "delta": 0.0613,
          "percent_delta": 0.2949,
          "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.095,
        "after": 0.0,
        "delta": -0.095,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.095,
        "after": 0.0,
        "delta": -0.095,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.55,
        "after": 5.0,
        "delta": 1.45,
        "percent_delta": 0.4085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.279,
        "after": 0.2693,
        "delta": -0.0097,
        "percent_delta": -0.0348,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "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.319,
        "after": 0.3101,
        "delta": -0.0089,
        "percent_delta": -0.0279,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.548,
        "after": 0.0,
        "delta": -0.548,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.363,
        "after": 0.3728,
        "delta": 0.0098,
        "percent_delta": 0.027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.476,
        "after": 1.0,
        "delta": 0.524,
        "percent_delta": 1.1008,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.55,
        "after": 5.0,
        "delta": 1.45,
        "percent_delta": 0.4085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.095-
predicted_3B0.095-
predicted_AB3.550-
predicted_AVG0.279-
predicted_BB0.214-
predicted_H0.990-
predicted_HR0.030-
predicted_OBP0.319-
predicted_R0.548-
predicted_RBI0.360-
predicted_SLG0.363-
predicted_SO0.476-
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.0950.000
predicted_3B0.0970.002
predicted_AB3.526-0.024
predicted_AVG0.276-0.003
predicted_BB0.210-0.004
predicted_H0.972-0.018
predicted_HBP0.075-
predicted_HR0.026-0.004
predicted_OBP0.3200.001
predicted_R0.5840.036
predicted_RBI0.350-0.010
predicted_SLG0.3670.004
predicted_SO0.466-0.010
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.0950.000
predicted_3B0.0970.000
predicted_AB3.5260.000
predicted_AVG0.269-0.006
predicted_BB0.208-0.001
predicted_H0.950-0.022
predicted_HBP0.0750.000
predicted_HR0.025-0.001
predicted_OBP0.310-0.010
predicted_R0.561-0.022
predicted_RBI0.337-0.013
predicted_SLG0.3730.006
predicted_SO0.4690.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.55), rates preserved: AVG=0.224 HR/AB=0.007

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.1690.169
3B0.0210.021
BB0.3110.311
H0.807-0.193
HR0.0790.079
RBI0.5120.512
SO0.905-0.095
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
AB4.0000.000
BB0.000-0.311
H1.0000.193
HR0.000-0.079
R1.0000.000
RBI0.000-0.512
SO1.0000.095
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.095
predicted_3B0.000-0.097
predicted_AB4.0000.474
predicted_AVG0.208-0.061
predicted_BB0.000-0.208
predicted_H1.0000.050
predicted_HR0.000-0.025
predicted_OBP0.272-0.038
predicted_R1.0000.439
predicted_RBI0.000-0.337
predicted_SLG0.323-0.050
predicted_SO1.0000.531
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.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.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: 42
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.0006.0000.0001.0000.0000.0005.0001.0000.0000.31580.35000.42110.31580.00000.00000.05260.0000
last_100.2010-37.0008.0001.0001.0000.0001.0007.0001.0004.0000.21620.26830.29730.21620.00000.02700.02700.1081
season0.6042-135.00038.0004.0004.0000.00019.00023.0009.00020.0000.28150.33330.37040.28150.00000.14070.06670.1482
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.1000
predicted_AB3.4910
predicted_AVG0.2708
predicted_BB0.2030
predicted_H0.9450
predicted_HBP0.0750
predicted_HR0.0200
predicted_OBP0.3206
predicted_R0.6370
predicted_RBI0.3350
predicted_SLG0.3729
predicted_SO0.4520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09500.09500.0950model_form_blend
predicted_3B0.09500.10000.0970model_form_blend
predicted_AB3.55003.49103.5263model_form_blend
predicted_AVG0.27900.27080.2757model_form_blend
predicted_BB0.21400.20300.2096model_form_blend
predicted_H0.99000.94500.9719model_form_blend
predicted_HBP-0.07500.0750form_only
predicted_HR0.03000.02000.0260model_form_blend
predicted_OBP0.31900.32060.3196model_form_blend
predicted_R0.54800.63700.5837model_form_blend
predicted_RBI0.36000.33500.3500model_form_blend
predicted_SLG0.36300.37290.3670model_form_blend
predicted_SO0.47600.45200.4664model_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 date72
Season rows before report date72
Report year2026
Profile rows used42
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
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_SO0
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
gameID20260930_CHC@SD
game_typefull
mlbID687957
playerID687957
playerNameDustin Harris
posLF
startedTrue
startingPositionLF
teamSD
teamID23
game_date2026-09-30
sl_k_percent13.2
sl_bb_percent7.2
sl_woba0.326
sl_xwoba0.314
sl_xba0.278
sl_xslg0.36
sl_sweet_spot_percent39.8
sl_barrel_batted_rate1.7
sl_hard_hit_percent19.5
sl_exit_velocity_avg85.2
sl_launch_angle_avg15.6
sl_whiff_percent19.3
sl_swing_percent48.7
Manny Machado (592518) · BATTER · 3B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 645
All-history rows before 20261003: 645
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2225
Diff (system - data): -0.0025
System opponent_avg: 0.1540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1441.0000.000Hitting_2B0.1520.0000.8481.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.4504.0004.000Hitting_AB3.7694.0000.2310.000
predicted_AVG0.2360.5000.250Hitting_AVG0.2230.2500.2770.250
predicted_BB0.4811.0001.000Hitting_BB0.5040.0000.4961.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H1.0502.0001.000Hitting_H0.8391.0001.1611.000
predicted_HR0.2500.0001.000Hitting_HR0.1970.000-0.1970.000
predicted_OBP0.3280.6000.400Hitting_OBP0.3110.2500.2890.350
predicted_R0.5251.0001.000Hitting_R0.5530.0000.4471.000
predicted_RBI0.7702.0001.000Hitting_RBI0.6080.0001.3922.000
predicted_SLG0.4640.7501.000Hitting_SLG0.4200.2500.3300.500
predicted_SO0.9060.0001.000Hitting_SO0.8991.000-0.899-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_RBI: 0.7700 -> 2.0000 (boost 1.2300, better)
Biggest Deboostpredicted_SO: 0.9060 -> 0.0000 (deboost -0.9060, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_SLG: 0.4640 -> 0.4752 (boost 0.0112, better)predicted_AB: 4.4500 -> 4.1300 (deboost -0.3200, 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.4752 -> 0.4470 (deboost -0.0282, 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_RBI: 0.7364 -> 1.0000 (boost 0.2636, better)predicted_BB: 0.4272 -> 0.0000 (deboost -0.4272, worse)AB rounded to 4 (raw=4.45), rates preserved: AVG=0.182 HR/AB=0.055
6consistency_constraints11010predicted_R: 0.5087 -> 1.0000 (boost 0.4913, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4299 (boost 0.4299, better)predicted_RBI: 1.0000 -> 0.5637 (deboost -0.4363, 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.1657 -> 1.0000 (boost 0.8343, better)predicted_SO: 1.2421 -> 1.0000 (deboost -0.2421, better)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: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3600 -> 0.4470 (boost 0.0870, better)-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.144,
        "predicted_3B": 0.0,
        "predicted_AB": 4.45,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.481,
        "predicted_H": 1.05,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.328,
        "predicted_R": 0.525,
        "predicted_RBI": 0.77,
        "predicted_SLG": 0.464,
        "predicted_SO": 0.906
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1458,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.13,
        "predicted_AVG": 0.2404,
        "predicted_BB": 0.4298,
        "predicted_H": 0.9909,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2509,
        "predicted_OBP": 0.3203,
        "predicted_R": 0.5289,
        "predicted_RBI": 0.7656,
        "predicted_SLG": 0.4752,
        "predicted_SO": 0.9038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.144,
          "after": 0.1458,
          "delta": 0.0018,
          "percent_delta": 0.0125,
          "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.45,
          "after": 4.13,
          "delta": -0.32,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2404,
          "delta": 0.0044,
          "percent_delta": 0.0186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.481,
          "after": 0.4298,
          "delta": -0.0512,
          "percent_delta": -0.1064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 0.9909,
          "delta": -0.0591,
          "percent_delta": -0.0563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.25,
          "after": 0.2509,
          "delta": 0.0009,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3203,
          "delta": -0.0077,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.525,
          "after": 0.5289,
          "delta": 0.0039,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.77,
          "after": 0.7656,
          "delta": -0.0044,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.464,
          "after": 0.4752,
          "delta": 0.0112,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.906,
          "after": 0.9038,
          "delta": -0.0022,
          "percent_delta": -0.0024,
          "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_SLG",
          "before": 0.464,
          "after": 0.4752,
          "delta": 0.0112,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.45,
          "after": 4.13,
          "delta": -0.32,
          "percent_delta": -0.0719,
          "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.1458,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.13,
        "predicted_AVG": 0.2345,
        "predicted_BB": 0.4272,
        "predicted_H": 0.9683,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2438,
        "predicted_OBP": 0.3062,
        "predicted_R": 0.5087,
        "predicted_RBI": 0.7364,
        "predicted_SLG": 0.447,
        "predicted_SO": 0.9093
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1458,
          "after": 0.1458,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.13,
          "after": 4.13,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2404,
          "after": 0.2345,
          "delta": -0.0059,
          "percent_delta": -0.0245,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4298,
          "after": 0.4272,
          "delta": -0.0026,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9909,
          "after": 0.9683,
          "delta": -0.0226,
          "percent_delta": -0.0228,
          "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.2509,
          "after": 0.2438,
          "delta": -0.0071,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3203,
          "after": 0.3062,
          "delta": -0.0141,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5289,
          "after": 0.5087,
          "delta": -0.0202,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7656,
          "after": 0.7364,
          "delta": -0.0292,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4752,
          "after": 0.447,
          "delta": -0.0282,
          "percent_delta": -0.0593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9038,
          "after": 0.9093,
          "delta": 0.0055,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4752,
          "after": 0.447,
          "delta": -0.0282,
          "percent_delta": -0.0593,
          "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.45), rates preserved: AVG=0.182 HR/AB=0.055",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1458,
          "after": 0.0,
          "delta": -0.1458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.13,
          "after": 4.0,
          "delta": -0.13,
          "percent_delta": -0.0315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4272,
          "after": 0.0,
          "delta": -0.4272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9683,
          "after": 1.0,
          "delta": 0.0317,
          "percent_delta": 0.0327,
          "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.2438,
          "after": 0.0,
          "delta": -0.2438,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7364,
          "after": 1.0,
          "delta": 0.2636,
          "percent_delta": 0.358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9093,
          "after": 1.0,
          "delta": 0.0907,
          "percent_delta": 0.0997,
          "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.7364,
          "after": 1.0,
          "delta": 0.2636,
          "percent_delta": 0.358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4272,
          "after": 0.0,
          "delta": -0.4272,
          "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.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "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.5087,
          "after": 1.0,
          "delta": 0.4913,
          "percent_delta": 0.9658,
          "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.152,
        "predicted_3B": 0.0063,
        "predicted_BB": 0.4299,
        "predicted_H": 0.7138,
        "predicted_HR": 0.1657,
        "predicted_RBI": 0.5637,
        "predicted_SO": 1.2421
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.152,
          "delta": 0.152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0063,
          "delta": 0.0063,
          "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.7138,
          "delta": -0.2862,
          "percent_delta": -0.2862,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1657,
          "delta": 0.1657,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5637,
          "delta": -0.4363,
          "percent_delta": -0.4363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2421,
          "delta": 0.2421,
          "percent_delta": 0.2421,
          "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.4299,
          "delta": 0.4299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5637,
          "delta": -0.4363,
          "percent_delta": -0.4363,
          "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.152,
          "after": 0.0,
          "delta": -0.152,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0063,
          "after": 0.0,
          "delta": -0.0063,
          "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.7138,
          "after": 1.0,
          "delta": 0.2862,
          "percent_delta": 0.401,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1657,
          "after": 1.0,
          "delta": 0.8343,
          "percent_delta": 5.035,
          "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.5637,
          "after": 1.0,
          "delta": 0.4363,
          "percent_delta": 0.774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2421,
          "after": 1.0,
          "delta": -0.2421,
          "percent_delta": -0.1949,
          "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.1657,
          "after": 1.0,
          "delta": 0.8343,
          "percent_delta": 5.035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2421,
          "after": 1.0,
          "delta": -0.2421,
          "percent_delta": -0.1949,
          "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.187,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2345,
          "after": 0.187,
          "delta": -0.0475,
          "percent_delta": -0.2026,
          "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.3062,
          "after": 0.275,
          "delta": -0.0312,
          "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.447,
          "after": 0.36,
          "delta": -0.087,
          "percent_delta": -0.1946,
          "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": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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.2345,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3062,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.447,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.187,
          "after": 0.2345,
          "delta": 0.0475,
          "percent_delta": 0.2538,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.3062,
          "delta": 0.0312,
          "percent_delta": 0.1135,
          "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.36,
          "after": 0.447,
          "delta": 0.087,
          "percent_delta": 0.2417,
          "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.36,
          "after": 0.447,
          "delta": 0.087,
          "percent_delta": 0.2417,
          "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.144,
        "after": 1.0,
        "delta": 0.856,
        "percent_delta": 5.9444,
        "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.45,
        "after": 4.0,
        "delta": -0.45,
        "percent_delta": -0.1011,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.2345,
        "delta": -0.0015,
        "percent_delta": -0.0064,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.481,
        "after": 1.0,
        "delta": 0.519,
        "percent_delta": 1.079,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.05,
        "after": 2.0,
        "delta": 0.95,
        "percent_delta": 0.9048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.328,
        "after": 0.3062,
        "delta": -0.0218,
        "percent_delta": -0.0665,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.525,
        "after": 1.0,
        "delta": 0.475,
        "percent_delta": 0.9048,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.464,
        "after": 0.447,
        "delta": -0.017,
        "percent_delta": -0.0366,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.906,
        "after": 0.0,
        "delta": -0.906,
        "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_RBI",
        "before": 0.77,
        "after": 2.0,
        "delta": 1.23,
        "percent_delta": 1.5974,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.906,
        "after": 0.0,
        "delta": -0.906,
        "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.144-
predicted_3B0.000-
predicted_AB4.450-
predicted_AVG0.236-
predicted_BB0.481-
predicted_H1.050-
predicted_HR0.250-
predicted_OBP0.328-
predicted_R0.525-
predicted_RBI0.770-
predicted_SLG0.464-
predicted_SO0.906-
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.1460.002
predicted_3B0.0000.000
predicted_AB4.130-0.320
predicted_AVG0.2400.004
predicted_BB0.430-0.051
predicted_H0.991-0.059
predicted_HBP0.005-
predicted_HR0.2510.001
predicted_OBP0.320-0.008
predicted_R0.5290.004
predicted_RBI0.766-0.004
predicted_SLG0.4750.011
predicted_SO0.904-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.1460.000
predicted_3B0.0000.000
predicted_AB4.1300.000
predicted_AVG0.234-0.006
predicted_BB0.427-0.003
predicted_H0.968-0.023
predicted_HBP0.0050.000
predicted_HR0.244-0.007
predicted_OBP0.306-0.014
predicted_R0.509-0.020
predicted_RBI0.736-0.029
predicted_SLG0.447-0.028
predicted_SO0.9090.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=4.45), rates preserved: AVG=0.182 HR/AB=0.055

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.1520.152
3B0.0060.006
BB0.4300.430
H0.714-0.286
HR0.1660.166
RBI0.564-0.436
SO1.2420.242
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.006
AB4.0000.000
BB1.0000.570
H1.0000.286
HR1.0000.834
R1.0000.000
RBI1.0000.436
SO1.000-0.242
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.146
predicted_3B0.000-0.000
predicted_AB4.000-0.130
predicted_AVG0.187-0.047
predicted_BB0.000-0.427
predicted_H1.0000.032
predicted_HR0.000-0.244
predicted_OBP0.275-0.031
predicted_R1.0000.491
predicted_RBI1.0000.264
predicted_SLG0.360-0.087
predicted_SO1.0000.091
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
H2.0001.000
HBP0.0000.000
HR0.000-1.000
PA5.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: 160
Reference playing time: 4.450
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.0000.0002.0006.0003.0001.0004.0000.33330.36840.72220.33330.11110.33330.05560.2222
last_100.2010-38.0009.0001.0000.0003.0009.0005.0002.00010.0000.23680.26830.50000.23680.07900.23680.05260.2632
season0.60160-596.000131.00023.0000.00031.00093.00084.00077.000145.0000.21980.30560.41440.21980.05200.15600.12920.2433
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1480
predicted_3B0.0010
predicted_AB3.7190
predicted_AVG0.2460
predicted_BB0.3640
predicted_H0.9150
predicted_HBP0.0050
predicted_HR0.2520
predicted_OBP0.3105
predicted_R0.5340
predicted_RBI0.7600
predicted_SLG0.4895
predicted_SO0.9010
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14400.14800.1458model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.45003.71904.1300model_form_blend
predicted_AVG0.23600.24600.2404model_form_blend
predicted_BB0.48100.36400.4298model_form_blend
predicted_H1.05000.91500.9909model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.25000.25200.2509model_form_blend
predicted_OBP0.32800.31050.3203model_form_blend
predicted_R0.52500.53400.5289model_form_blend
predicted_RBI0.77000.76000.7656model_form_blend
predicted_SLG0.46400.48950.4752model_form_blend
predicted_SO0.90600.90100.9038model_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 date645
Season rows before report date645
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
AB4
H2
2B1
3B0
HR0
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.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_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
gameID20260930_CHC@SD
game_typefull
mlbID592518
playerID592518
playerNameManny Machado
pos3B
startedTrue
startingPosition3B
teamSD
teamID23
game_date2026-09-30
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
Ty France (664034) · BATTER · 1B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 479
All-history rows before 20261003: 479
System season_avg: 0.2990
Data season_avg (2026 season-to-date): 0.3074
Diff (system - data): -0.0084
System opponent_avg: 0.3890

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1941.0000.000Hitting_2B0.2151.0000.7850.000
predicted_3B0.0161.0000.000Hitting_3B0.0130.0000.9871.000
predicted_AB3.9005.0004.000Hitting_AB3.5994.0001.4011.000
predicted_AVG0.3100.6000.250Hitting_AVG0.3070.5000.2930.100
predicted_BB0.2870.0000.000Hitting_BB0.3030.000-0.3030.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.2103.0001.000Hitting_H1.1062.0001.8941.000
predicted_HR0.1300.0000.000Hitting_HR0.1770.000-0.1770.000
predicted_OBP0.3680.6000.250Hitting_OBP0.3720.5000.2280.100
predicted_R0.4731.0000.000Hitting_R0.4991.0000.5010.000
predicted_RBI0.5101.0001.000Hitting_RBI0.5990.0000.4011.000
predicted_SLG0.4581.2000.250Hitting_SLG0.5220.7500.6780.450
predicted_SO0.8450.0001.000Hitting_SO0.8311.000-0.831-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics12
Boosted Metrics6
Deboosted Metrics6
Better Metrics7
Worse Metrics5
Biggest Boostpredicted_H: 1.2100 -> 3.0000 (boost 1.7900, better)
Biggest Deboostpredicted_SO: 0.8450 -> 0.0000 (deboost -0.8450, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_R: 0.4730 -> 0.5250 (boost 0.0520, better)predicted_AB: 3.9000 -> 3.7847 (deboost -0.1153, 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.3709 -> 0.3519 (deboost -0.0190, 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.7847 -> 4.0000 (boost 0.2153, better)predicted_RBI: 0.4789 -> 0.0000 (deboost -0.4789, worse)AB rounded to 4 (raw=3.90), rates preserved: AVG=0.245 HR/AB=0.030
6consistency_constraints11010predicted_R: 0.5050 -> 1.0000 (boost 0.4950, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5758 (boost 0.5758, better)predicted_H: 1.0000 -> 0.8403 (deboost -0.1597, 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_allocation72534predicted_RBI: 0.5758 -> 1.0000 (boost 0.4242, 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_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_reference65160predicted_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.2200 -> 0.3014 (boost 0.0814, better)-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.194,
        "predicted_3B": 0.016,
        "predicted_AB": 3.9,
        "predicted_AVG": 0.31,
        "predicted_BB": 0.287,
        "predicted_H": 1.21,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.368,
        "predicted_R": 0.473,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.458,
        "predicted_SO": 0.845
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1949,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.7847,
        "predicted_AVG": 0.3083,
        "predicted_BB": 0.2965,
        "predicted_H": 1.1675,
        "predicted_HBP": 0.115,
        "predicted_HR": 0.1187,
        "predicted_OBP": 0.3709,
        "predicted_R": 0.525,
        "predicted_RBI": 0.4979,
        "predicted_SLG": 0.455,
        "predicted_SO": 0.8701
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1949,
          "delta": 0.0009,
          "percent_delta": 0.0046,
          "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.9,
          "after": 3.7847,
          "delta": -0.1153,
          "percent_delta": -0.0296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.31,
          "after": 0.3083,
          "delta": -0.0017,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.287,
          "after": 0.2965,
          "delta": 0.0095,
          "percent_delta": 0.0331,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.21,
          "after": 1.1675,
          "delta": -0.0425,
          "percent_delta": -0.0351,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1187,
          "delta": -0.0113,
          "percent_delta": -0.0869,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.368,
          "after": 0.3709,
          "delta": 0.0029,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.473,
          "after": 0.525,
          "delta": 0.052,
          "percent_delta": 0.1099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4979,
          "delta": -0.0121,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.455,
          "delta": -0.003,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.845,
          "after": 0.8701,
          "delta": 0.0251,
          "percent_delta": 0.0297,
          "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.473,
          "after": 0.525,
          "delta": 0.052,
          "percent_delta": 0.1099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.9,
          "after": 3.7847,
          "delta": -0.1153,
          "percent_delta": -0.0296,
          "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.1949,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.7847,
        "predicted_AVG": 0.3014,
        "predicted_BB": 0.2947,
        "predicted_H": 1.1409,
        "predicted_HBP": 0.115,
        "predicted_HR": 0.1153,
        "predicted_OBP": 0.3519,
        "predicted_R": 0.505,
        "predicted_RBI": 0.4789,
        "predicted_SLG": 0.4514,
        "predicted_SO": 0.8754
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1949,
          "after": 0.1949,
          "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.7847,
          "after": 3.7847,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3083,
          "after": 0.3014,
          "delta": -0.0069,
          "percent_delta": -0.0224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2965,
          "after": 0.2947,
          "delta": -0.0018,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1675,
          "after": 1.1409,
          "delta": -0.0266,
          "percent_delta": -0.0228,
          "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.1187,
          "after": 0.1153,
          "delta": -0.0034,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3709,
          "after": 0.3519,
          "delta": -0.019,
          "percent_delta": -0.0512,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.525,
          "after": 0.505,
          "delta": -0.02,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4979,
          "after": 0.4789,
          "delta": -0.019,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.455,
          "after": 0.4514,
          "delta": -0.0036,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8701,
          "after": 0.8754,
          "delta": 0.0053,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3709,
          "after": 0.3519,
          "delta": -0.019,
          "percent_delta": -0.0512,
          "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.90), rates preserved: AVG=0.245 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1949,
          "after": 0.0,
          "delta": -0.1949,
          "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.7847,
          "after": 4.0,
          "delta": 0.2153,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2947,
          "after": 0.0,
          "delta": -0.2947,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1409,
          "after": 1.0,
          "delta": -0.1409,
          "percent_delta": -0.1235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.115,
          "after": 0.0,
          "delta": -0.115,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1153,
          "after": 0.0,
          "delta": -0.1153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4789,
          "after": 0.0,
          "delta": -0.4789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8754,
          "after": 1.0,
          "delta": 0.1246,
          "percent_delta": 0.1423,
          "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.7847,
          "after": 4.0,
          "delta": 0.2153,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4789,
          "after": 0.0,
          "delta": -0.4789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "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.505,
          "after": 1.0,
          "delta": 0.495,
          "percent_delta": 0.9802,
          "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.505,
          "after": 1.0,
          "delta": 0.495,
          "percent_delta": 0.9802,
          "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.1747,
        "predicted_3B": 0.0113,
        "predicted_BB": 0.2995,
        "predicted_H": 0.8403,
        "predicted_HR": 0.1514,
        "predicted_RBI": 0.5758,
        "predicted_SO": 1.2588
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1747,
          "delta": 0.1747,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0113,
          "delta": 0.0113,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2995,
          "delta": 0.2995,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8403,
          "delta": -0.1597,
          "percent_delta": -0.1597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1514,
          "delta": 0.1514,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5758,
          "delta": 0.5758,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2588,
          "delta": 0.2588,
          "percent_delta": 0.2588,
          "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.5758,
          "delta": 0.5758,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8403,
          "delta": -0.1597,
          "percent_delta": -0.1597,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1747,
          "after": 0.0,
          "delta": -0.1747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0113,
          "after": 0.0,
          "delta": -0.0113,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2995,
          "after": 0.0,
          "delta": -0.2995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8403,
          "after": 1.0,
          "delta": 0.1597,
          "percent_delta": 0.1901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1514,
          "after": 0.0,
          "delta": -0.1514,
          "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.5758,
          "after": 1.0,
          "delta": 0.4242,
          "percent_delta": 0.7367,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2588,
          "after": 1.0,
          "delta": -0.2588,
          "percent_delta": -0.2056,
          "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_RBI",
          "before": 0.5758,
          "after": 1.0,
          "delta": 0.4242,
          "percent_delta": 0.7367,
          "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": 4.0,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 1.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3014,
          "after": 0.22,
          "delta": -0.0814,
          "percent_delta": -0.2701,
          "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.3519,
          "after": 0.283,
          "delta": -0.0689,
          "percent_delta": -0.1958,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4514,
          "after": 0.391,
          "delta": -0.0604,
          "percent_delta": -0.1338,
          "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_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": 1.0,
        "predicted_3B": 1.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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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": 1.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.3014,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3519,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4514,
        "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "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.22,
          "after": 0.3014,
          "delta": 0.0814,
          "percent_delta": 0.3702,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.3519,
          "delta": 0.0689,
          "percent_delta": 0.2435,
          "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.391,
          "after": 0.4514,
          "delta": 0.0604,
          "percent_delta": 0.1546,
          "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.3014,
          "delta": 0.0814,
          "percent_delta": 0.3702,
          "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": 1.0,
        "delta": 0.806,
        "percent_delta": 4.1546,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 1.0,
        "delta": 0.984,
        "percent_delta": 61.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.9,
        "after": 5.0,
        "delta": 1.1,
        "percent_delta": 0.2821,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.31,
        "after": 0.3014,
        "delta": -0.0086,
        "percent_delta": -0.0277,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.287,
        "after": 0.0,
        "delta": -0.287,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 3.0,
        "delta": 1.79,
        "percent_delta": 1.4793,
        "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.368,
        "after": 0.3519,
        "delta": -0.0161,
        "percent_delta": -0.0438,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.473,
        "after": 1.0,
        "delta": 0.527,
        "percent_delta": 1.1142,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.458,
        "after": 0.4514,
        "delta": -0.0066,
        "percent_delta": -0.0144,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.845,
        "after": 0.0,
        "delta": -0.845,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 6,
      "deboosted_metrics": 6,
      "better_metrics": 7,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.21,
        "after": 3.0,
        "delta": 1.79,
        "percent_delta": 1.4793,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.845,
        "after": 0.0,
        "delta": -0.845,
        "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.194-
predicted_3B0.016-
predicted_AB3.900-
predicted_AVG0.310-
predicted_BB0.287-
predicted_H1.210-
predicted_HR0.130-
predicted_OBP0.368-
predicted_R0.473-
predicted_RBI0.510-
predicted_SLG0.458-
predicted_SO0.845-
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.1950.001
predicted_3B0.013-0.003
predicted_AB3.785-0.115
predicted_AVG0.308-0.002
predicted_BB0.2960.010
predicted_H1.167-0.042
predicted_HBP0.115-
predicted_HR0.119-0.011
predicted_OBP0.3710.003
predicted_R0.5250.052
predicted_RBI0.498-0.012
predicted_SLG0.455-0.003
predicted_SO0.8700.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.1950.000
predicted_3B0.0130.000
predicted_AB3.7850.000
predicted_AVG0.301-0.007
predicted_BB0.295-0.002
predicted_H1.141-0.027
predicted_HBP0.1150.000
predicted_HR0.115-0.003
predicted_OBP0.352-0.019
predicted_R0.505-0.020
predicted_RBI0.479-0.019
predicted_SLG0.451-0.004
predicted_SO0.8750.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.90), rates preserved: AVG=0.245 HR/AB=0.030

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.1750.175
3B0.0110.011
BB0.2990.299
H0.840-0.160
HR0.1510.151
RBI0.5760.576
SO1.2590.259
8. 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.011
AB4.0000.000
BB0.000-0.299
H1.0000.160
HR0.000-0.151
R0.000-1.000
RBI1.0000.424
SO1.000-0.259
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.195
predicted_3B0.000-0.013
predicted_AB4.0000.215
predicted_AVG0.220-0.081
predicted_BB0.000-0.295
predicted_H1.000-0.141
predicted_HR0.000-0.115
predicted_OBP0.283-0.069
predicted_R1.0000.495
predicted_RBI0.000-0.479
predicted_SLG0.391-0.060
predicted_SO1.0000.125
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B1.0001.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA5.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: 129
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-19.0007.0001.0000.0000.0002.0005.0002.0005.0000.36840.45450.42110.36840.00000.10530.10530.2632
last_100.2010-39.00011.0002.0000.0000.0003.0006.0003.00010.0000.28210.34880.33330.28210.00000.07690.07690.2564
season0.60129-448.000134.00025.0002.00021.00072.00061.00037.000109.0000.29910.36360.50450.29910.04690.16070.08260.2433
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1960
predicted_3B0.0100
predicted_AB3.6340
predicted_AVG0.3061
predicted_BB0.3090
predicted_H1.1120
predicted_HBP0.1150
predicted_HR0.1040
predicted_OBP0.3747
predicted_R0.5930
predicted_RBI0.4820
predicted_SLG0.4510
predicted_SO0.9030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.19600.1949model_form_blend
predicted_3B0.01600.01000.0134model_form_blend
predicted_AB3.90003.63403.7847model_form_blend
predicted_AVG0.31000.30610.3083model_form_blend
predicted_BB0.28700.30900.2965model_form_blend
predicted_H1.21001.11201.1675model_form_blend
predicted_HBP-0.11500.1150form_only
predicted_HR0.13000.10400.1187model_form_blend
predicted_OBP0.36800.37470.3709model_form_blend
predicted_R0.47300.59300.5250model_form_blend
predicted_RBI0.51000.48200.4979model_form_blend
predicted_SLG0.45800.45100.4550model_form_blend
predicted_SO0.84500.90300.8701model_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 date479
Season rows before report date479
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
PA5
AB5
H3
2B1
3B1
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_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
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
allPositionsPlayed1B
gameID20260930_CHC@SD
game_typefull
mlbID664034
playerID664034
playerNameTy France
pos1B
startedTrue
startingPosition1B
teamSD
teamID23
game_date2026-09-30
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
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 20261003: 672
All-history rows before 20261003: 672
System season_avg: 0.2890
Data season_avg (2026 season-to-date): 0.2921
Diff (system - data): -0.0031
System opponent_avg: 0.4020

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2010.0001.000Hitting_2B0.2140.000-0.2140.000
predicted_3B0.0190.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.9604.0004.000Hitting_AB4.0454.000-0.0450.000
predicted_AVG0.2820.5000.250Hitting_AVG0.2920.0000.2080.500
predicted_BB0.3961.0000.000Hitting_BB0.4110.0000.5891.000
predicted_CS-0.0000.000BaseRunning_CS0.0850.000-0.0850.000
predicted_H1.4002.0001.000Hitting_H1.1820.0000.8182.000
predicted_HR0.2601.0000.000Hitting_HR0.1650.0000.8351.000
predicted_OBP0.3800.6000.250Hitting_OBP0.3610.0000.2390.600
predicted_R0.6161.0001.000Hitting_R0.6370.0000.3631.000
predicted_RBI0.6601.0001.000Hitting_RBI0.5520.0000.4481.000
predicted_SLG0.5471.2500.500Hitting_SLG0.4780.0000.7721.250
predicted_SO0.8301.0001.000Hitting_SO0.8441.0000.1560.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_HR: 0.2600 -> 1.0000 (boost 0.7400, better)
Biggest Deboostpredicted_AB: 4.9600 -> 4.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_blend41313predicted_AVG: 0.2820 -> 0.2942 (boost 0.0122, better)predicted_AB: 4.9600 -> 4.4641 (deboost -0.4959, 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.5363 -> 0.4896 (deboost -0.0467, 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.8210 -> 1.0000 (boost 0.1790, worse)predicted_RBI: 0.5902 -> 0.0000 (deboost -0.5902, worse)AB rounded to 4 (raw=4.96), rates preserved: AVG=0.215 HR/AB=0.046
6consistency_constraints11010predicted_R: 0.6233 -> 1.0000 (boost 0.3767, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5205 (boost 0.5205, better)predicted_H: 1.0000 -> 0.8737 (deboost -0.1263, 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.1769 -> 1.0000 (boost 0.8231, better)predicted_BB: 0.3635 -> 0.0000 (deboost -0.3635, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_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
10simulation_box_score_reference44040predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3820 -> 0.4896 (boost 0.1076, 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.201,
        "predicted_3B": 0.019,
        "predicted_AB": 4.96,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.396,
        "predicted_H": 1.4,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.38,
        "predicted_R": 0.616,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.547,
        "predicted_SO": 0.83
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2006,
        "predicted_3B": 0.0155,
        "predicted_AB": 4.4641,
        "predicted_AVG": 0.2942,
        "predicted_BB": 0.414,
        "predicted_H": 1.3062,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.2324,
        "predicted_OBP": 0.3821,
        "predicted_R": 0.648,
        "predicted_RBI": 0.6136,
        "predicted_SLG": 0.5363,
        "predicted_SO": 0.816
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.201,
          "after": 0.2006,
          "delta": -0.0004,
          "percent_delta": -0.002,
          "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.96,
          "after": 4.4641,
          "delta": -0.4959,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2942,
          "delta": 0.0122,
          "percent_delta": 0.0433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.396,
          "after": 0.414,
          "delta": 0.018,
          "percent_delta": 0.0455,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4,
          "after": 1.3062,
          "delta": -0.0938,
          "percent_delta": -0.067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2324,
          "delta": -0.0276,
          "percent_delta": -0.1062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3821,
          "delta": 0.0021,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.616,
          "after": 0.648,
          "delta": 0.032,
          "percent_delta": 0.0519,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 0.6136,
          "delta": -0.0464,
          "percent_delta": -0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.547,
          "after": 0.5363,
          "delta": -0.0107,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.83,
          "after": 0.816,
          "delta": -0.014,
          "percent_delta": -0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2942,
          "delta": 0.0122,
          "percent_delta": 0.0433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.96,
          "after": 4.4641,
          "delta": -0.4959,
          "percent_delta": -0.1,
          "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": 159
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2006,
        "predicted_3B": 0.0155,
        "predicted_AB": 4.4641,
        "predicted_AVG": 0.2859,
        "predicted_BB": 0.4115,
        "predicted_H": 1.2764,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.2258,
        "predicted_OBP": 0.3462,
        "predicted_R": 0.6233,
        "predicted_RBI": 0.5902,
        "predicted_SLG": 0.4896,
        "predicted_SO": 0.821
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2006,
          "after": 0.2006,
          "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.4641,
          "after": 4.4641,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2942,
          "after": 0.2859,
          "delta": -0.0083,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.4115,
          "delta": -0.0025,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3062,
          "after": 1.2764,
          "delta": -0.0298,
          "percent_delta": -0.0228,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.045,
          "after": 0.045,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2324,
          "after": 0.2258,
          "delta": -0.0066,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3821,
          "after": 0.3462,
          "delta": -0.0359,
          "percent_delta": -0.094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.648,
          "after": 0.6233,
          "delta": -0.0247,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6136,
          "after": 0.5902,
          "delta": -0.0234,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5363,
          "after": 0.4896,
          "delta": -0.0467,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.816,
          "after": 0.821,
          "delta": 0.005,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5363,
          "after": 0.4896,
          "delta": -0.0467,
          "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=4.96), rates preserved: AVG=0.215 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2006,
          "after": 0.0,
          "delta": -0.2006,
          "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.4641,
          "after": 4.0,
          "delta": -0.4641,
          "percent_delta": -0.104,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4115,
          "after": 0.0,
          "delta": -0.4115,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2764,
          "after": 1.0,
          "delta": -0.2764,
          "percent_delta": -0.2165,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.045,
          "after": 0.0,
          "delta": -0.045,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2258,
          "after": 0.0,
          "delta": -0.2258,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5902,
          "after": 0.0,
          "delta": -0.5902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.821,
          "after": 1.0,
          "delta": 0.179,
          "percent_delta": 0.218,
          "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.821,
          "after": 1.0,
          "delta": 0.179,
          "percent_delta": 0.218,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5902,
          "after": 0.0,
          "delta": -0.5902,
          "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.6233,
          "after": 1.0,
          "delta": 0.3767,
          "percent_delta": 0.6044,
          "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.6233,
          "after": 1.0,
          "delta": 0.3767,
          "percent_delta": 0.6044,
          "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.1769,
        "predicted_3B": 0.0122,
        "predicted_BB": 0.3635,
        "predicted_H": 0.8737,
        "predicted_HR": 0.1458,
        "predicted_RBI": 0.5205,
        "predicted_SO": 1.1428
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1769,
          "delta": 0.1769,
          "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.3635,
          "delta": 0.3635,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8737,
          "delta": -0.1263,
          "percent_delta": -0.1263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1458,
          "delta": 0.1458,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5205,
          "delta": 0.5205,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1428,
          "delta": 0.1428,
          "percent_delta": 0.1428,
          "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.5205,
          "delta": 0.5205,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8737,
          "delta": -0.1263,
          "percent_delta": -0.1263,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1769,
          "after": 1.0,
          "delta": 0.8231,
          "percent_delta": 4.6529,
          "direction": "boost",
          "projection_effect": "better",
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3635,
          "after": 0.0,
          "delta": -0.3635,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8737,
          "after": 1.0,
          "delta": 0.1263,
          "percent_delta": 0.1446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1458,
          "after": 0.0,
          "delta": -0.1458,
          "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.5205,
          "after": 1.0,
          "delta": 0.4795,
          "percent_delta": 0.9212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1428,
          "after": 1.0,
          "delta": -0.1428,
          "percent_delta": -0.125,
          "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.1769,
          "after": 1.0,
          "delta": 0.8231,
          "percent_delta": 4.6529,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3635,
          "after": 0.0,
          "delta": -0.3635,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.292,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.382,
        "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.2859,
          "after": 0.221,
          "delta": -0.0649,
          "percent_delta": -0.227,
          "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.3462,
          "after": 0.292,
          "delta": -0.0542,
          "percent_delta": -0.1566,
          "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.4896,
          "after": 0.382,
          "delta": -0.1076,
          "percent_delta": -0.2198,
          "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": 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": 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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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_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": 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.2859,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3462,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4896,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2859,
          "delta": 0.0649,
          "percent_delta": 0.2938,
          "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.292,
          "after": 0.3462,
          "delta": 0.0542,
          "percent_delta": 0.1856,
          "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.382,
          "after": 0.4896,
          "delta": 0.1076,
          "percent_delta": 0.2816,
          "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.382,
          "after": 0.4896,
          "delta": 0.1076,
          "percent_delta": 0.2816,
          "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.201,
        "after": 0.0,
        "delta": -0.201,
        "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.96,
        "after": 4.0,
        "delta": -0.96,
        "percent_delta": -0.1935,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2859,
        "delta": 0.0039,
        "percent_delta": 0.0138,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.396,
        "after": 1.0,
        "delta": 0.604,
        "percent_delta": 1.5253,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.4,
        "after": 2.0,
        "delta": 0.6,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.38,
        "after": 0.3462,
        "delta": -0.0338,
        "percent_delta": -0.0889,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.616,
        "after": 1.0,
        "delta": 0.384,
        "percent_delta": 0.6234,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.66,
        "after": 1.0,
        "delta": 0.34,
        "percent_delta": 0.5152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.547,
        "after": 0.4896,
        "delta": -0.0574,
        "percent_delta": -0.1049,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.83,
        "after": 1.0,
        "delta": 0.17,
        "percent_delta": 0.2048,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.96,
        "after": 4.0,
        "delta": -0.96,
        "percent_delta": -0.1935,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "boosted"
    }
  }
}

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.201-
predicted_3B0.019-
predicted_AB4.960-
predicted_AVG0.282-
predicted_BB0.396-
predicted_H1.400-
predicted_HR0.260-
predicted_OBP0.380-
predicted_R0.616-
predicted_RBI0.660-
predicted_SLG0.547-
predicted_SO0.830-
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.000
predicted_3B0.015-0.003
predicted_AB4.464-0.496
predicted_AVG0.2940.012
predicted_BB0.4140.018
predicted_H1.306-0.094
predicted_HBP0.045-
predicted_HR0.232-0.028
predicted_OBP0.3820.002
predicted_R0.6480.032
predicted_RBI0.614-0.046
predicted_SLG0.536-0.011
predicted_SO0.816-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.2010.000
predicted_3B0.0150.000
predicted_AB4.4640.000
predicted_AVG0.286-0.008
predicted_BB0.411-0.003
predicted_H1.276-0.030
predicted_HBP0.0450.000
predicted_HR0.226-0.007
predicted_OBP0.346-0.036
predicted_R0.623-0.025
predicted_RBI0.590-0.023
predicted_SLG0.490-0.047
predicted_SO0.8210.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=4.96), rates preserved: AVG=0.215 HR/AB=0.046

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.1770.177
3B0.0120.012
BB0.3630.363
H0.874-0.126
HR0.1460.146
RBI0.5200.520
SO1.1430.143
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.823
3B0.000-0.012
AB4.0000.000
BB0.000-0.363
H1.0000.126
HR0.000-0.146
R1.0000.000
RBI1.0000.480
SO1.000-0.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.201
predicted_3B0.000-0.015
predicted_AB4.000-0.464
predicted_AVG0.221-0.065
predicted_BB0.000-0.411
predicted_H1.000-0.276
predicted_HR0.000-0.226
predicted_OBP0.292-0.054
predicted_R1.0000.377
predicted_RBI0.000-0.590
predicted_SLG0.382-0.108
predicted_SO1.0000.179
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
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.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: 159
Reference playing time: 4.960
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.0006.0001.0000.0001.0003.0004.0003.0003.0000.35290.45000.58820.35290.05880.17650.17650.1765
last_100.2010-38.00013.0002.0000.0003.0006.0008.0004.0009.0000.34210.41860.63160.34210.07900.15790.10530.2368
season0.60159-633.000183.00032.0003.00026.00083.00098.00063.000132.0000.28910.35730.47240.28910.04110.13110.09950.2085
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2000
predicted_3B0.0110
predicted_AB3.8280
predicted_AVG0.3098
predicted_BB0.4370
predicted_H1.1860
predicted_HBP0.0450
predicted_HR0.1970
predicted_OBP0.3847
predicted_R0.6890
predicted_RBI0.5540
predicted_SLG0.5225
predicted_SO0.7980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20100.20000.2006model_form_blend
predicted_3B0.01900.01100.0155model_form_blend
predicted_AB4.96003.82804.4641model_form_blend
predicted_AVG0.28200.30980.2942model_form_blend
predicted_BB0.39600.43700.4140model_form_blend
predicted_H1.40001.18601.3062model_form_blend
predicted_HBP-0.04500.0450form_only
predicted_HR0.26000.19700.2324model_form_blend
predicted_OBP0.38000.38470.3821model_form_blend
predicted_R0.61600.68900.6480model_form_blend
predicted_RBI0.66000.55400.6136model_form_blend
predicted_SLG0.54700.52250.5363model_form_blend
predicted_SO0.83000.79800.8160model_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 date672
Season rows before report date672
Report year2026
Profile rows used159
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
H2
2B0
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_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_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
gameID20260930_CHC@SD
game_typefull
mlbID665487
playerID665487
playerNameFernando Tatis Jr.
posRF
startedTrue
startingPositionRF
teamSD
teamID23
game_date2026-09-30
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
Luis Campusano (669134) · BATTER · DH · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 234
All-history rows before 20261003: 234
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2623
Diff (system - data): 0.0027
System opponent_avg: 0.6670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1690.0000.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0853.0004.000Hitting_AB3.2914.000-0.291-1.000
predicted_AVG0.2650.3330.250Hitting_AVG0.2620.2500.0710.083
predicted_BB0.4081.0001.000Hitting_BB0.4270.0000.5731.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8171.0001.000Hitting_H0.8631.0000.1370.000
predicted_HR0.1130.0000.000Hitting_HR0.1200.000-0.1200.000
predicted_OBP0.3510.5000.400Hitting_OBP0.3560.2500.1440.250
predicted_R0.3521.0000.000Hitting_R0.3551.0000.6450.000
predicted_RBI0.4230.0000.000Hitting_RBI0.4740.000-0.4740.000
predicted_SLG0.4290.3330.250Hitting_SLG0.4290.250-0.0950.083
predicted_SO0.7460.0001.000Hitting_SO0.8030.000-0.8030.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_R: 0.3520 -> 1.0000 (boost 0.6480, better)
Biggest Deboostpredicted_SO: 0.7460 -> 0.0000 (deboost -0.7460, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.0850 -> 3.2014 (boost 0.1164, better)predicted_SLG: 0.4290 -> 0.4007 (deboost -0.0283, 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.4007 -> 0.3910 (deboost -0.0097, 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.2014 -> 4.0000 (boost 0.7986, better)predicted_BB: 0.4089 -> 0.0000 (deboost -0.4089, worse)AB rounded to 4 (raw=3.20), rates preserved: AVG=0.208 HR/AB=0.032
6consistency_constraints10101-predicted_R: 0.3664 -> 0.0000 (deboost -0.3664, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4627 (boost 0.4627, better)predicted_H: 1.0000 -> 0.7150 (deboost -0.2850, 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.3851 -> 1.0000 (boost 0.6149, better)predicted_RBI: 0.4627 -> 0.0000 (deboost -0.4627, 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_reference42231predicted_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.2880 -> 0.3343 (boost 0.0463, better)-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": "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.169,
        "predicted_3B": 0.0,
        "predicted_AB": 3.085,
        "predicted_AVG": 0.265,
        "predicted_BB": 0.408,
        "predicted_H": 0.817,
        "predicted_HR": 0.113,
        "predicted_OBP": 0.351,
        "predicted_R": 0.352,
        "predicted_RBI": 0.423,
        "predicted_SLG": 0.429,
        "predicted_SO": 0.746
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1468,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2014,
        "predicted_AVG": 0.2556,
        "predicted_BB": 0.4114,
        "predicted_H": 0.8166,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.105,
        "predicted_OBP": 0.3422,
        "predicted_R": 0.3809,
        "predicted_RBI": 0.3962,
        "predicted_SLG": 0.4007,
        "predicted_SO": 0.7246
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.169,
          "after": 0.1468,
          "delta": -0.0222,
          "percent_delta": -0.1314,
          "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.085,
          "after": 3.2014,
          "delta": 0.1164,
          "percent_delta": 0.0377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.2556,
          "delta": -0.0094,
          "percent_delta": -0.0355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.408,
          "after": 0.4114,
          "delta": 0.0034,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.817,
          "after": 0.8166,
          "delta": -0.0004,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.113,
          "after": 0.105,
          "delta": -0.008,
          "percent_delta": -0.0708,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3422,
          "delta": -0.0088,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.352,
          "after": 0.3809,
          "delta": 0.0289,
          "percent_delta": 0.0821,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.423,
          "after": 0.3962,
          "delta": -0.0268,
          "percent_delta": -0.0634,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4007,
          "delta": -0.0283,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.746,
          "after": 0.7246,
          "delta": -0.0214,
          "percent_delta": -0.0287,
          "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.085,
          "after": 3.2014,
          "delta": 0.1164,
          "percent_delta": 0.0377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4007,
          "delta": -0.0283,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 71
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1468,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2014,
        "predicted_AVG": 0.2493,
        "predicted_BB": 0.4089,
        "predicted_H": 0.798,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.102,
        "predicted_OBP": 0.3343,
        "predicted_R": 0.3664,
        "predicted_RBI": 0.3811,
        "predicted_SLG": 0.391,
        "predicted_SO": 0.729
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1468,
          "after": 0.1468,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2014,
          "after": 3.2014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2556,
          "after": 0.2493,
          "delta": -0.0063,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4114,
          "after": 0.4089,
          "delta": -0.0025,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8166,
          "after": 0.798,
          "delta": -0.0186,
          "percent_delta": -0.0228,
          "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.105,
          "after": 0.102,
          "delta": -0.003,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3422,
          "after": 0.3343,
          "delta": -0.0079,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3809,
          "after": 0.3664,
          "delta": -0.0145,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3962,
          "after": 0.3811,
          "delta": -0.0151,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4007,
          "after": 0.391,
          "delta": -0.0097,
          "percent_delta": -0.0242,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7246,
          "after": 0.729,
          "delta": 0.0044,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4007,
          "after": 0.391,
          "delta": -0.0097,
          "percent_delta": -0.0242,
          "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.20), rates preserved: AVG=0.208 HR/AB=0.032",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1468,
          "after": 0.0,
          "delta": -0.1468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2014,
          "after": 4.0,
          "delta": 0.7986,
          "percent_delta": 0.2495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4089,
          "after": 0.0,
          "delta": -0.4089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.798,
          "after": 1.0,
          "delta": 0.202,
          "percent_delta": 0.2531,
          "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.102,
          "after": 0.0,
          "delta": -0.102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3811,
          "after": 0.0,
          "delta": -0.3811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.729,
          "after": 1.0,
          "delta": 0.271,
          "percent_delta": 0.3717,
          "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.2014,
          "after": 4.0,
          "delta": 0.7986,
          "percent_delta": 0.2495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4089,
          "after": 0.0,
          "delta": -0.4089,
          "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.3664,
          "after": 0.0,
          "delta": -0.3664,
          "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.3664,
          "after": 0.0,
          "delta": -0.3664,
          "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.1554,
        "predicted_3B": 0.0079,
        "predicted_BB": 0.3851,
        "predicted_H": 0.715,
        "predicted_HR": 0.1148,
        "predicted_RBI": 0.4627,
        "predicted_SO": 1.1419
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1554,
          "delta": 0.1554,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0079,
          "delta": 0.0079,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3851,
          "delta": 0.3851,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.715,
          "delta": -0.285,
          "percent_delta": -0.285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1148,
          "delta": 0.1148,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4627,
          "delta": 0.4627,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1419,
          "delta": 0.1419,
          "percent_delta": 0.1419,
          "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.4627,
          "delta": 0.4627,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.715,
          "delta": -0.285,
          "percent_delta": -0.285,
          "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.1554,
          "after": 0.0,
          "delta": -0.1554,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0079,
          "after": 0.0,
          "delta": -0.0079,
          "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.3851,
          "after": 1.0,
          "delta": 0.6149,
          "percent_delta": 1.5967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.715,
          "after": 1.0,
          "delta": 0.285,
          "percent_delta": 0.3986,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1148,
          "after": 0.0,
          "delta": -0.1148,
          "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.4627,
          "after": 0.0,
          "delta": -0.4627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1419,
          "after": 1.0,
          "delta": -0.1419,
          "percent_delta": -0.1243,
          "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.3851,
          "after": 1.0,
          "delta": 0.6149,
          "percent_delta": 1.5967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4627,
          "after": 0.0,
          "delta": -0.4627,
          "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.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.351,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2493,
          "after": 0.204,
          "delta": -0.0453,
          "percent_delta": -0.1817,
          "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.3343,
          "after": 0.288,
          "delta": -0.0463,
          "percent_delta": -0.1385,
          "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.391,
          "after": 0.351,
          "delta": -0.04,
          "percent_delta": -0.1023,
          "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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2493,
        "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.3343,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.391,
        "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.204,
          "after": 0.2493,
          "delta": 0.0453,
          "percent_delta": 0.2219,
          "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.288,
          "after": 0.3343,
          "delta": 0.0463,
          "percent_delta": 0.1607,
          "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.351,
          "after": 0.391,
          "delta": 0.04,
          "percent_delta": 0.1139,
          "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_OBP",
          "before": 0.288,
          "after": 0.3343,
          "delta": 0.0463,
          "percent_delta": 0.1607,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.085,
        "after": 3.0,
        "delta": -0.085,
        "percent_delta": -0.0276,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.265,
        "after": 0.2493,
        "delta": -0.0157,
        "percent_delta": -0.0592,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.408,
        "after": 1.0,
        "delta": 0.592,
        "percent_delta": 1.451,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.817,
        "after": 1.0,
        "delta": 0.183,
        "percent_delta": 0.224,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.113,
        "after": 0.0,
        "delta": -0.113,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.351,
        "after": 0.3343,
        "delta": -0.0167,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 1.0,
        "delta": 0.648,
        "percent_delta": 1.8409,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.423,
        "after": 0.0,
        "delta": -0.423,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.391,
        "delta": -0.038,
        "percent_delta": -0.0886,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 1.0,
        "delta": 0.648,
        "percent_delta": 1.8409,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "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.169-
predicted_3B0.000-
predicted_AB3.085-
predicted_AVG0.265-
predicted_BB0.408-
predicted_H0.817-
predicted_HR0.113-
predicted_OBP0.351-
predicted_R0.352-
predicted_RBI0.423-
predicted_SLG0.429-
predicted_SO0.746-
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.147-0.022
predicted_3B0.0000.000
predicted_AB3.2010.116
predicted_AVG0.256-0.009
predicted_BB0.4110.003
predicted_H0.817-0.000
predicted_HBP0.028-
predicted_HR0.105-0.008
predicted_OBP0.342-0.009
predicted_R0.3810.029
predicted_RBI0.396-0.027
predicted_SLG0.401-0.028
predicted_SO0.725-0.021
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.0000.000
predicted_AB3.2010.000
predicted_AVG0.249-0.006
predicted_BB0.409-0.003
predicted_H0.798-0.019
predicted_HBP0.0280.000
predicted_HR0.102-0.003
predicted_OBP0.334-0.008
predicted_R0.366-0.015
predicted_RBI0.381-0.015
predicted_SLG0.391-0.010
predicted_SO0.7290.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.20), rates preserved: AVG=0.208 HR/AB=0.032

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.1550.155
3B0.0080.008
BB0.3850.385
H0.715-0.285
HR0.1150.115
RBI0.4630.463
SO1.1420.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.155
3B0.000-0.008
AB4.0000.000
BB1.0000.615
H1.0000.285
HR0.000-0.115
R0.0000.000
RBI0.000-0.463
SO1.000-0.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.147
predicted_3B0.000-0.000
predicted_AB4.0000.799
predicted_AVG0.204-0.045
predicted_BB0.000-0.409
predicted_H1.0000.202
predicted_HR0.000-0.102
predicted_OBP0.288-0.046
predicted_R0.000-0.366
predicted_RBI0.000-0.381
predicted_SLG0.351-0.040
predicted_SO1.0000.271
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-
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: 71
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.0001.0003.0003.0002.0000.23530.35000.23530.23530.00000.05880.17650.1177
last_100.2010-39.0007.0000.0000.0001.0002.0004.0003.0007.0000.17950.23810.25640.17950.02560.05130.07690.1795
season0.6071-219.00058.00012.0000.0008.00030.00025.00029.00053.0000.26480.35860.42920.26480.03650.13700.13240.2420
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1160
predicted_3B0.0010
predicted_AB3.3630
predicted_AVG0.2425
predicted_BB0.4160
predicted_H0.8160
predicted_HBP0.0280
predicted_HR0.0940
predicted_OBP0.3299
predicted_R0.4210
predicted_RBI0.3590
predicted_SLG0.3614
predicted_SO0.6950
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16900.11600.1468model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.08503.36303.2014model_form_blend
predicted_AVG0.26500.24250.2556model_form_blend
predicted_BB0.40800.41600.4114model_form_blend
predicted_H0.81700.81600.8166model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.11300.09400.1050model_form_blend
predicted_OBP0.35100.32990.3422model_form_blend
predicted_R0.35200.42100.3809model_form_blend
predicted_RBI0.42300.35900.3962model_form_blend
predicted_SLG0.42900.36140.4007model_form_blend
predicted_SO0.74600.69500.7246model_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 date234
Season rows before report date234
Report year2026
Profile rows used71
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
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.25
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
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
gameID20260929_CHC@SD
game_typefull
mlbID669134
playerID669134
playerNameLuis Campusano
posC
startedTrue
startingPositionC
teamSD
teamID23
game_date2026-09-29
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
Jackson Merrill (701538) · BATTER · CF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 642
All-history rows before 20261003: 642
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2652
Diff (system - data): -0.0072
System opponent_avg: 0.1810

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.1700.000-0.1700.000
predicted_3B0.0310.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB4.5004.0004.000Hitting_AB4.0003.0000.0001.000
predicted_AVG0.3340.0000.250Hitting_AVG0.2650.667-0.265-0.667
predicted_BB0.2641.0000.000Hitting_BB0.2771.0000.7230.000
predicted_CS-0.0000.000BaseRunning_CS0.0261.000-0.026-1.000
predicted_H1.5000.0001.000Hitting_H1.0612.000-1.061-2.000
predicted_HR0.1500.0000.000Hitting_HR0.1760.000-0.1760.000
predicted_OBP0.3670.2000.250Hitting_OBP0.3150.750-0.115-0.550
predicted_R0.5470.0001.000Hitting_R0.5791.000-0.579-1.000
predicted_RBI0.6200.0001.000Hitting_RBI0.6060.000-0.6060.000
predicted_SLG0.4460.0000.250Hitting_SLG0.4580.667-0.458-0.667
predicted_SO1.0191.0002.000Hitting_SO1.0121.000-0.0120.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.2640 -> 1.0000 (boost 0.7360, better)
Biggest Deboostpredicted_H: 1.5000 -> 0.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_blend41313predicted_R: 0.5470 -> 0.6017 (boost 0.0547, better)predicted_AB: 4.5000 -> 4.1767 (deboost -0.3233, 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.4478 -> 0.4604 (boost 0.0126, better)predicted_AVG: 0.3217 -> 0.3151 (deboost -0.0066, 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.5606 -> 0.0000 (deboost -0.5606, worse)AB rounded to 4 (raw=4.50), rates preserved: AVG=0.245 HR/AB=0.029
6consistency_constraints11010predicted_R: 0.5788 -> 1.0000 (boost 0.4212, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5432 (boost 0.5432, better)predicted_H: 1.0000 -> 0.8068 (deboost -0.1932, 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.3669 -> 2.0000 (boost 0.6331, worse)predicted_BB: 0.2823 -> 0.0000 (deboost -0.2823, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50514-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_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.3151 (boost 0.1041, 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.164,
        "predicted_3B": 0.031,
        "predicted_AB": 4.5,
        "predicted_AVG": 0.334,
        "predicted_BB": 0.264,
        "predicted_H": 1.5,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.367,
        "predicted_R": 0.547,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.446,
        "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.1623,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.1767,
        "predicted_AVG": 0.3217,
        "predicted_BB": 0.2802,
        "predicted_H": 1.3469,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1351,
        "predicted_OBP": 0.3627,
        "predicted_R": 0.6017,
        "predicted_RBI": 0.5828,
        "predicted_SLG": 0.4478,
        "predicted_SO": 1.0579
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1623,
          "delta": -0.0017,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.0253,
          "delta": -0.0057,
          "percent_delta": -0.1839,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5,
          "after": 4.1767,
          "delta": -0.3233,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.334,
          "after": 0.3217,
          "delta": -0.0123,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.264,
          "after": 0.2802,
          "delta": 0.0162,
          "percent_delta": 0.0614,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5,
          "after": 1.3469,
          "delta": -0.1531,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1351,
          "delta": -0.0149,
          "percent_delta": -0.0993,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.367,
          "after": 0.3627,
          "delta": -0.0043,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.547,
          "after": 0.6017,
          "delta": 0.0547,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.5828,
          "delta": -0.0372,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.446,
          "after": 0.4478,
          "delta": 0.0018,
          "percent_delta": 0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.019,
          "after": 1.0579,
          "delta": 0.0389,
          "percent_delta": 0.0382,
          "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_R",
          "before": 0.547,
          "after": 0.6017,
          "delta": 0.0547,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.5,
          "after": 4.1767,
          "delta": -0.3233,
          "percent_delta": -0.0718,
          "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": 159
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1623,
        "predicted_3B": 0.0253,
        "predicted_AB": 4.1767,
        "predicted_AVG": 0.3151,
        "predicted_BB": 0.2785,
        "predicted_H": 1.3162,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1313,
        "predicted_OBP": 0.3579,
        "predicted_R": 0.5788,
        "predicted_RBI": 0.5606,
        "predicted_SLG": 0.4604,
        "predicted_SO": 1.0644
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.1623,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0253,
          "after": 0.0253,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1767,
          "after": 4.1767,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3217,
          "after": 0.3151,
          "delta": -0.0066,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2802,
          "after": 0.2785,
          "delta": -0.0017,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3469,
          "after": 1.3162,
          "delta": -0.0307,
          "percent_delta": -0.0228,
          "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.1351,
          "after": 0.1313,
          "delta": -0.0038,
          "percent_delta": -0.0281,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3627,
          "after": 0.3579,
          "delta": -0.0048,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6017,
          "after": 0.5788,
          "delta": -0.0229,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5828,
          "after": 0.5606,
          "delta": -0.0222,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4478,
          "after": 0.4604,
          "delta": 0.0126,
          "percent_delta": 0.0281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0579,
          "after": 1.0644,
          "delta": 0.0065,
          "percent_delta": 0.0061,
          "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.4478,
          "after": 0.4604,
          "delta": 0.0126,
          "percent_delta": 0.0281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3217,
          "after": 0.3151,
          "delta": -0.0066,
          "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=4.50), rates preserved: AVG=0.245 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.1623,
          "after": 0.0,
          "delta": -0.1623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0253,
          "after": 0.0,
          "delta": -0.0253,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1767,
          "after": 4.0,
          "delta": -0.1767,
          "percent_delta": -0.0423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2785,
          "after": 0.0,
          "delta": -0.2785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3162,
          "after": 1.0,
          "delta": -0.3162,
          "percent_delta": -0.2402,
          "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.1313,
          "after": 0.0,
          "delta": -0.1313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5606,
          "after": 0.0,
          "delta": -0.5606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0644,
          "after": 1.0,
          "delta": -0.0644,
          "percent_delta": -0.0605,
          "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.5606,
          "after": 0.0,
          "delta": -0.5606,
          "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.5788,
          "after": 1.0,
          "delta": 0.4212,
          "percent_delta": 0.7277,
          "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.5788,
          "after": 1.0,
          "delta": 0.4212,
          "percent_delta": 0.7277,
          "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.17,
        "predicted_3B": 0.016,
        "predicted_BB": 0.2823,
        "predicted_H": 0.8068,
        "predicted_HR": 0.1482,
        "predicted_RBI": 0.5432,
        "predicted_SO": 1.3669
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.17,
          "delta": 0.17,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.016,
          "delta": 0.016,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2823,
          "delta": 0.2823,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8068,
          "delta": -0.1932,
          "percent_delta": -0.1932,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1482,
          "delta": 0.1482,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5432,
          "delta": 0.5432,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3669,
          "delta": 0.3669,
          "percent_delta": 0.3669,
          "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.5432,
          "delta": 0.5432,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8068,
          "delta": -0.1932,
          "percent_delta": -0.1932,
          "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": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.0,
          "delta": -0.17,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "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.2823,
          "after": 0.0,
          "delta": -0.2823,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8068,
          "after": 1.0,
          "delta": 0.1932,
          "percent_delta": 0.2395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1482,
          "after": 0.0,
          "delta": -0.1482,
          "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.5432,
          "after": 1.0,
          "delta": 0.4568,
          "percent_delta": 0.8409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3669,
          "after": 2.0,
          "delta": 0.6331,
          "percent_delta": 0.4632,
          "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.3669,
          "after": 2.0,
          "delta": 0.6331,
          "percent_delta": 0.4632,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2823,
          "after": 0.0,
          "delta": -0.2823,
          "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.211,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.272,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.381,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3151,
          "after": 0.211,
          "delta": -0.1041,
          "percent_delta": -0.3304,
          "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.3579,
          "after": 0.272,
          "delta": -0.0859,
          "percent_delta": -0.24,
          "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.4604,
          "after": 0.381,
          "delta": -0.0794,
          "percent_delta": -0.1725,
          "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_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": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 4.0,
        "predicted_AVG": 0.3151,
        "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.3579,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4604,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.211,
          "after": 0.3151,
          "delta": 0.1041,
          "percent_delta": 0.4935,
          "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.272,
          "after": 0.3579,
          "delta": 0.0859,
          "percent_delta": 0.3159,
          "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.381,
          "after": 0.4604,
          "delta": 0.0794,
          "percent_delta": 0.2084,
          "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.3151,
          "delta": 0.1041,
          "percent_delta": 0.4935,
          "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.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.5,
        "after": 4.0,
        "delta": -0.5,
        "percent_delta": -0.1111,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.334,
        "after": 0.3151,
        "delta": -0.0189,
        "percent_delta": -0.0566,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.264,
        "after": 1.0,
        "delta": 0.736,
        "percent_delta": 2.7879,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.5,
        "after": 0.0,
        "delta": -1.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.367,
        "after": 0.3579,
        "delta": -0.0091,
        "percent_delta": -0.0248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.547,
        "after": 0.0,
        "delta": -0.547,
        "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.446,
        "after": 0.4604,
        "delta": 0.0144,
        "percent_delta": 0.0323,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.019,
        "after": 1.0,
        "delta": -0.019,
        "percent_delta": -0.0186,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.264,
        "after": 1.0,
        "delta": 0.736,
        "percent_delta": 2.7879,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.5,
        "after": 0.0,
        "delta": -1.5,
        "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.164-
predicted_3B0.031-
predicted_AB4.500-
predicted_AVG0.334-
predicted_BB0.264-
predicted_H1.500-
predicted_HR0.150-
predicted_OBP0.367-
predicted_R0.547-
predicted_RBI0.620-
predicted_SLG0.446-
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.162-0.002
predicted_3B0.025-0.006
predicted_AB4.177-0.323
predicted_AVG0.322-0.012
predicted_BB0.2800.016
predicted_H1.347-0.153
predicted_HBP0.012-
predicted_HR0.135-0.015
predicted_OBP0.363-0.004
predicted_R0.6020.055
predicted_RBI0.583-0.037
predicted_SLG0.4480.002
predicted_SO1.0580.039
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.0250.000
predicted_AB4.1770.000
predicted_AVG0.315-0.007
predicted_BB0.279-0.002
predicted_H1.316-0.031
predicted_HBP0.0120.000
predicted_HR0.131-0.004
predicted_OBP0.358-0.005
predicted_R0.579-0.023
predicted_RBI0.561-0.022
predicted_SLG0.4600.013
predicted_SO1.0640.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.50), rates preserved: AVG=0.245 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. 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.1700.170
3B0.0160.016
BB0.2820.282
H0.807-0.193
HR0.1480.148
RBI0.5430.543
SO1.3670.367
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.170
3B0.000-0.016
AB4.0000.000
BB0.000-0.282
H1.0000.193
HR0.000-0.148
R1.0000.000
RBI1.0000.457
SO2.0000.633
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.025
predicted_AB4.000-0.177
predicted_AVG0.211-0.104
predicted_BB0.000-0.279
predicted_H1.000-0.316
predicted_HR0.000-0.131
predicted_OBP0.272-0.086
predicted_R1.0000.421
predicted_RBI0.000-0.561
predicted_SLG0.381-0.079
predicted_SO1.000-0.064
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
BB1.0001.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
SO1.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 159
Reference playing time: 4.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-17.0008.0001.0000.0000.0003.0005.0002.0006.0000.47060.52630.52940.47060.00000.17650.11770.3529
last_100.2010-37.00011.0001.0000.0001.0004.0007.0003.00013.0000.29730.35000.40540.29730.02700.10810.08110.3513
season0.60159-620.000160.00026.0005.00026.00089.00087.00042.000162.0000.25810.30690.44190.25810.04190.14360.06770.2613
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1600
predicted_3B0.0180
predicted_AB3.7610
predicted_AVG0.3059
predicted_BB0.3010
predicted_H1.1500
predicted_HBP0.0120
predicted_HR0.1160
predicted_OBP0.3571
predicted_R0.6720
predicted_RBI0.5350
predicted_SLG0.4502
predicted_SO1.1080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.16000.1623model_form_blend
predicted_3B0.03100.01800.0253model_form_blend
predicted_AB4.50003.76104.1767model_form_blend
predicted_AVG0.33400.30590.3217model_form_blend
predicted_BB0.26400.30100.2802model_form_blend
predicted_H1.50001.15001.3469model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.15000.11600.1351model_form_blend
predicted_OBP0.36700.35710.3627model_form_blend
predicted_R0.54700.67200.6017model_form_blend
predicted_RBI0.62000.53500.5828model_form_blend
predicted_SLG0.44600.45020.4478model_form_blend
predicted_SO1.01901.10801.0579model_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 date642
Season rows before report date642
Report year2026
Profile rows used159
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
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_CS1
BaseRunning_PO1
BaseRunning_SB1
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_R1
Hitting_RBI0
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
allPositionsPlayedCF
gameID20260930_CHC@SD
game_typefull
mlbID701538
playerID701538
playerNameJackson Merrill
posCF
startedTrue
startingPositionCF
teamSD
teamID23
game_date2026-09-30
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
Ethan Salas (806956) · BATTER · C · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 29
All-history rows before 20261003: 29
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2179
Diff (system - data): 0.0321
System opponent_avg: 0.2500
System season_avg diverges from 2026 season-to-date by 0.0321. 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.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0620.0000.000Hitting_3B0.0690.000-0.0690.000
predicted_AB2.5004.0003.000Hitting_AB2.6901.0001.3103.000
predicted_AVG0.3730.2500.000Hitting_AVG0.2180.0000.0320.250
predicted_BB0.0620.0000.000Hitting_BB0.0340.000-0.0340.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7001.0000.000Hitting_H0.5860.0000.4141.000
predicted_HR0.0600.0000.000Hitting_HR0.2760.000-0.2760.000
predicted_OBP0.3730.2500.000Hitting_OBP0.2250.0000.0250.250
predicted_R0.3750.0000.000Hitting_R0.4480.000-0.4480.000
predicted_RBI0.3700.0000.000Hitting_RBI0.5171.000-0.517-1.000
predicted_SLG0.4730.2500.000Hitting_SLG0.5770.000-0.3270.250
predicted_SO0.6251.0001.000Hitting_SO0.6901.0000.3100.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_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
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_blend42222predicted_AB: 2.5000 -> 2.6536 (boost 0.1536, better)predicted_AVG: 0.3730 -> 0.3468 (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_AVG: 0.3468 -> 0.2783 (deboost -0.0685, 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.6374 -> 1.0000 (boost 0.3626, worse)predicted_RBI: 0.3833 -> 0.0000 (deboost -0.3833, worse)AB rounded to 3 (raw=2.65), rates preserved: AVG=0.233 HR/AB=0.030
6consistency_constraints10101-predicted_R: 0.3929 -> 0.0000 (deboost -0.3929, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4053 (boost 0.4053, better)predicted_H: 1.0000 -> 0.6246 (deboost -0.3754, 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.6246 -> 0.0000 (deboost -0.6246, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.2783 -> 0.2020 (deboost -0.0763, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference11010predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2020 -> 0.2783 (boost 0.0763, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806956",
  "player_name": "Ethan Salas",
  "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.0,
        "predicted_3B": 0.062,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.373,
        "predicted_BB": 0.062,
        "predicted_H": 0.7,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.373,
        "predicted_R": 0.375,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.473,
        "predicted_SO": 0.625
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.019,
        "predicted_3B": 0.0518,
        "predicted_AB": 2.6536,
        "predicted_AVG": 0.3468,
        "predicted_BB": 0.083,
        "predicted_H": 0.7558,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.081,
        "predicted_OBP": 0.3563,
        "predicted_R": 0.4085,
        "predicted_RBI": 0.3985,
        "predicted_SLG": 0.4682,
        "predicted_SO": 0.6335
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.019,
          "delta": 0.019,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.062,
          "after": 0.0518,
          "delta": -0.0102,
          "percent_delta": -0.1645,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6536,
          "delta": 0.1536,
          "percent_delta": 0.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.373,
          "after": 0.3468,
          "delta": -0.0262,
          "percent_delta": -0.0702,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.062,
          "after": 0.083,
          "delta": 0.021,
          "percent_delta": 0.3387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7558,
          "delta": 0.0558,
          "percent_delta": 0.0797,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.081,
          "delta": 0.021,
          "percent_delta": 0.35,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.373,
          "after": 0.3563,
          "delta": -0.0167,
          "percent_delta": -0.0448,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.375,
          "after": 0.4085,
          "delta": 0.0335,
          "percent_delta": 0.0893,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3985,
          "delta": 0.0285,
          "percent_delta": 0.077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.4682,
          "delta": -0.0048,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.625,
          "after": 0.6335,
          "delta": 0.0085,
          "percent_delta": 0.0136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6536,
          "delta": 0.1536,
          "percent_delta": 0.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.373,
          "after": 0.3468,
          "delta": -0.0262,
          "percent_delta": -0.0702,
          "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": 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.019,
        "predicted_3B": 0.0518,
        "predicted_AB": 2.6536,
        "predicted_AVG": 0.2783,
        "predicted_BB": 0.0825,
        "predicted_H": 0.7386,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0787,
        "predicted_OBP": 0.3001,
        "predicted_R": 0.3929,
        "predicted_RBI": 0.3833,
        "predicted_SLG": 0.4135,
        "predicted_SO": 0.6374
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.019,
          "after": 0.019,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0518,
          "after": 0.0518,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6536,
          "after": 2.6536,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3468,
          "after": 0.2783,
          "delta": -0.0685,
          "percent_delta": -0.1975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.083,
          "after": 0.0825,
          "delta": -0.0005,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7558,
          "after": 0.7386,
          "delta": -0.0172,
          "percent_delta": -0.0228,
          "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.081,
          "after": 0.0787,
          "delta": -0.0023,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3563,
          "after": 0.3001,
          "delta": -0.0562,
          "percent_delta": -0.1577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4085,
          "after": 0.3929,
          "delta": -0.0156,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3985,
          "after": 0.3833,
          "delta": -0.0152,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4682,
          "after": 0.4135,
          "delta": -0.0547,
          "percent_delta": -0.1168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6335,
          "after": 0.6374,
          "delta": 0.0039,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3468,
          "after": 0.2783,
          "delta": -0.0685,
          "percent_delta": -0.1975,
          "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.65), rates preserved: AVG=0.233 HR/AB=0.030",
      "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.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0518,
          "after": 0.0,
          "delta": -0.0518,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.6536,
          "after": 3.0,
          "delta": 0.3464,
          "percent_delta": 0.1305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0825,
          "after": 0.0,
          "delta": -0.0825,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7386,
          "after": 1.0,
          "delta": 0.2614,
          "percent_delta": 0.3539,
          "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.0787,
          "after": 0.0,
          "delta": -0.0787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 0.6374,
          "after": 1.0,
          "delta": 0.3626,
          "percent_delta": 0.5689,
          "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.6374,
          "after": 1.0,
          "delta": 0.3626,
          "percent_delta": 0.5689,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3833,
          "after": 0.0,
          "delta": -0.3833,
          "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.3929,
          "after": 0.0,
          "delta": -0.3929,
          "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.3929,
          "after": 0.0,
          "delta": -0.3929,
          "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.1349,
        "predicted_3B": 0.0112,
        "predicted_BB": 0.2434,
        "predicted_H": 0.6246,
        "predicted_HR": 0.1079,
        "predicted_RBI": 0.4053,
        "predicted_SO": 1.0536
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1349,
          "delta": 0.1349,
          "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.2434,
          "delta": 0.2434,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6246,
          "delta": -0.3754,
          "percent_delta": -0.3754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1079,
          "delta": 0.1079,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4053,
          "delta": 0.4053,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0536,
          "delta": 0.0536,
          "percent_delta": 0.0536,
          "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.4053,
          "delta": 0.4053,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6246,
          "delta": -0.3754,
          "percent_delta": -0.3754,
          "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.1349,
          "after": 0.0,
          "delta": -0.1349,
          "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": 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.2434,
          "after": 0.0,
          "delta": -0.2434,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6246,
          "after": 0.0,
          "delta": -0.6246,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1079,
          "after": 0.0,
          "delta": -0.1079,
          "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.4053,
          "after": 0.0,
          "delta": -0.4053,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0536,
          "after": 1.0,
          "delta": -0.0536,
          "percent_delta": -0.0509,
          "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.6246,
          "after": 0.0,
          "delta": -0.6246,
          "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.202,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.266,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.358,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2783,
          "after": 0.202,
          "delta": -0.0763,
          "percent_delta": -0.2742,
          "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.3001,
          "after": 0.266,
          "delta": -0.0341,
          "percent_delta": -0.1136,
          "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.4135,
          "after": 0.358,
          "delta": -0.0555,
          "percent_delta": -0.1342,
          "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_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.2783,
          "after": 0.202,
          "delta": -0.0763,
          "percent_delta": -0.2742,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3001,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4135,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.202,
          "after": 0.2783,
          "delta": 0.0763,
          "percent_delta": 0.3779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.3001,
          "delta": 0.0341,
          "percent_delta": 0.1281,
          "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.358,
          "after": 0.4135,
          "delta": 0.0555,
          "percent_delta": 0.155,
          "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.202,
          "after": 0.2783,
          "delta": 0.0763,
          "percent_delta": 0.3779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.062,
        "after": 0.0,
        "delta": -0.062,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.373,
        "after": 0.2783,
        "delta": -0.0947,
        "percent_delta": -0.2539,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.062,
        "after": 0.0,
        "delta": -0.062,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 1.0,
        "delta": 0.3,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.373,
        "after": 0.3001,
        "delta": -0.0729,
        "percent_delta": -0.1954,
        "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.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.473,
        "after": 0.4135,
        "delta": -0.0595,
        "percent_delta": -0.1258,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.625,
        "after": 1.0,
        "delta": 0.375,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "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.000-
predicted_3B0.062-
predicted_AB2.500-
predicted_AVG0.373-
predicted_BB0.062-
predicted_H0.700-
predicted_HR0.060-
predicted_OBP0.373-
predicted_R0.375-
predicted_RBI0.370-
predicted_SLG0.473-
predicted_SO0.625-
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.0190.019
predicted_3B0.052-0.010
predicted_AB2.6540.154
predicted_AVG0.347-0.026
predicted_BB0.0830.021
predicted_H0.7560.056
predicted_HBP0.011-
predicted_HR0.0810.021
predicted_OBP0.356-0.017
predicted_R0.4080.033
predicted_RBI0.3990.029
predicted_SLG0.468-0.005
predicted_SO0.6330.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.0190.000
predicted_3B0.0520.000
predicted_AB2.6540.000
predicted_AVG0.278-0.069
predicted_BB0.083-0.001
predicted_H0.739-0.017
predicted_HBP0.0110.000
predicted_HR0.079-0.002
predicted_OBP0.300-0.056
predicted_R0.393-0.016
predicted_RBI0.383-0.015
predicted_SLG0.413-0.055
predicted_SO0.6370.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.65), rates preserved: AVG=0.233 HR/AB=0.030

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.1350.135
3B0.0110.011
BB0.2430.243
H0.625-0.375
HR0.1080.108
RBI0.4050.405
SO1.0540.054
8. 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.011
AB3.0000.000
BB0.000-0.243
H0.000-0.625
HR0.000-0.108
R0.0000.000
RBI0.000-0.405
SO1.000-0.054
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.019
predicted_3B0.000-0.052
predicted_AB3.0000.346
predicted_AVG0.202-0.076
predicted_BB0.000-0.083
predicted_H1.0000.261
predicted_HR0.000-0.079
predicted_OBP0.266-0.034
predicted_R0.000-0.393
predicted_RBI0.000-0.383
predicted_SLG0.358-0.055
predicted_SO1.0000.363
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.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: 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-12.0006.0000.0000.0000.0002.0003.0000.0002.0000.50000.50000.50000.50000.00000.16670.00000.1667
last_100.2010-24.0009.0000.0000.0002.0006.0005.0001.0004.0000.37500.38460.62500.37500.08330.25000.04170.1667
season0.6017-40.00010.0000.0001.0002.0006.0006.0001.00010.0000.25000.26190.45000.25000.05000.15000.02500.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0580
predicted_3B0.0310
predicted_AB2.9680
predicted_AVG0.2930
predicted_BB0.1260
predicted_H0.8700
predicted_HBP0.0110
predicted_HR0.1240
predicted_OBP0.3222
predicted_R0.4770
predicted_RBI0.4570
predicted_SLG0.4585
predicted_SO0.6510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.05800.0190model_form_blend
predicted_3B0.06200.03100.0518model_form_blend
predicted_AB2.50002.96802.6536model_form_blend
predicted_AVG0.37300.29300.3468model_form_blend
predicted_BB0.06200.12600.0830model_form_blend
predicted_H0.70000.87000.7558model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.06000.12400.0810model_form_blend
predicted_OBP0.37300.32220.3563model_form_blend
predicted_R0.37500.47700.4085model_form_blend
predicted_RBI0.37000.45700.3985model_form_blend
predicted_SLG0.47300.45850.4682model_form_blend
predicted_SO0.62500.65100.6335model_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 date29
Season rows before report date29
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
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 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_RBI1
Hitting_SAC0
Hitting_SF1
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
allPositionsPlayedC
gameID20260930_CHC@SD
game_typefull
mlbID806956
playerID806956
playerNameEthan Salas
posC
startedTrue
startingPositionC
teamSD
teamID23
game_date2026-09-30
sl_k_percent22.5
sl_bb_percent2.5
sl_woba0.316
sl_xwoba0.227
sl_xba0.188
sl_xslg0.316
sl_sweet_spot_percent23.3
sl_barrel_batted_rate3.3
sl_hard_hit_percent33.3
sl_exit_velocity_avg90.1
sl_launch_angle_avg25.7
sl_whiff_percent19.4
sl_swing_percent48.3
Jake Cronenworth (630105) · BATTER · 2B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 402
All-history rows before 20261003: 402
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2324
Diff (system - data): -0.0074
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.1180.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0090.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4824.0003.000Hitting_AB3.6822.0000.3182.000
predicted_AVG0.2120.2500.000Hitting_AVG0.2320.0000.0180.250
predicted_BB0.3450.0000.000Hitting_BB0.3710.000-0.3710.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.7001.0000.000Hitting_H0.8560.0000.1441.000
predicted_HR0.0900.0000.000Hitting_HR0.0570.000-0.0570.000
predicted_OBP0.3250.2500.000Hitting_OBP0.3120.333-0.062-0.083
predicted_R0.4180.0000.000Hitting_R0.4580.000-0.4580.000
predicted_RBI0.5500.0000.000Hitting_RBI0.3560.000-0.3560.000
predicted_SB-0.0000.000BaseRunning_SB0.0820.000-0.0820.000
predicted_SLG0.3320.2500.000Hitting_SLG0.3200.000-0.0700.250
predicted_SO0.8911.0001.000Hitting_SO0.9230.0000.0771.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_AB: 3.4820 -> 4.0000 (boost 0.5180, better)
Biggest Deboostpredicted_RBI: 0.5500 -> 0.0000 (deboost -0.5500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AVG: 0.2120 -> 0.2216 (boost 0.0096, 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_OBP: 0.3277 -> 0.2814 (deboost -0.0463, 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.5689 -> 1.0000 (boost 0.4311, better)predicted_AB: 3.4536 -> 3.0000 (deboost -0.4536, worse)AB rounded to 3 (raw=3.48), rates preserved: AVG=0.174 HR/AB=0.024
6consistency_constraints10101-predicted_R: 0.3929 -> 0.0000 (deboost -0.3929, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3271 (boost 0.3271, better)predicted_RBI: 1.0000 -> 0.3764 (deboost -0.6236, 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.6474 -> 0.0000 (deboost -0.6474, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context52323predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.2103 -> 0.1940 (deboost -0.0163, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_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
11current_json_final33030predicted_AVG: 0.1940 -> 0.2103 (boost 0.0163, better)-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.118,
        "predicted_3B": 0.009,
        "predicted_AB": 3.482,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.345,
        "predicted_H": 0.7,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.325,
        "predicted_R": 0.418,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.332,
        "predicted_SO": 0.891
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1335,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.4536,
        "predicted_AVG": 0.2216,
        "predicted_BB": 0.3441,
        "predicted_H": 0.7431,
        "predicted_HBP": 0.16,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.3277,
        "predicted_R": 0.4085,
        "predicted_RBI": 0.5914,
        "predicted_SLG": 0.3416,
        "predicted_SO": 0.8919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1335,
          "delta": 0.0155,
          "percent_delta": 0.1314,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0077,
          "delta": -0.0013,
          "percent_delta": -0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.482,
          "after": 3.4536,
          "delta": -0.0284,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2216,
          "delta": 0.0096,
          "percent_delta": 0.0453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.345,
          "after": 0.3441,
          "delta": -0.0009,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7431,
          "delta": 0.0431,
          "percent_delta": 0.0616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0861,
          "delta": -0.0039,
          "percent_delta": -0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3277,
          "delta": 0.0027,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.418,
          "after": 0.4085,
          "delta": -0.0095,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.55,
          "after": 0.5914,
          "delta": 0.0414,
          "percent_delta": 0.0753,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.332,
          "after": 0.3416,
          "delta": 0.0096,
          "percent_delta": 0.0289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.891,
          "after": 0.8919,
          "delta": 0.0009,
          "percent_delta": 0.001,
          "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.212,
          "after": 0.2216,
          "delta": 0.0096,
          "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": 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.1335,
        "predicted_3B": 0.0077,
        "predicted_AB": 3.4536,
        "predicted_AVG": 0.2103,
        "predicted_BB": 0.342,
        "predicted_H": 0.7262,
        "predicted_HBP": 0.16,
        "predicted_HR": 0.0837,
        "predicted_OBP": 0.2814,
        "predicted_R": 0.3929,
        "predicted_RBI": 0.5689,
        "predicted_SLG": 0.326,
        "predicted_SO": 0.8973
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1335,
          "after": 0.1335,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0077,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4536,
          "after": 3.4536,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2216,
          "after": 0.2103,
          "delta": -0.0113,
          "percent_delta": -0.051,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3441,
          "after": 0.342,
          "delta": -0.0021,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7431,
          "after": 0.7262,
          "delta": -0.0169,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.16,
          "after": 0.16,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0861,
          "after": 0.0837,
          "delta": -0.0024,
          "percent_delta": -0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3277,
          "after": 0.2814,
          "delta": -0.0463,
          "percent_delta": -0.1413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4085,
          "after": 0.3929,
          "delta": -0.0156,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5914,
          "after": 0.5689,
          "delta": -0.0225,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3416,
          "after": 0.326,
          "delta": -0.0156,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8919,
          "after": 0.8973,
          "delta": 0.0054,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3277,
          "after": 0.2814,
          "delta": -0.0463,
          "percent_delta": -0.1413,
          "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.48), rates preserved: AVG=0.174 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": 1.0,
        "predicted_SB": 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.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4536,
          "after": 3.0,
          "delta": -0.4536,
          "percent_delta": -0.1313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.342,
          "after": 0.0,
          "delta": -0.342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7262,
          "after": 1.0,
          "delta": 0.2738,
          "percent_delta": 0.377,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.16,
          "after": 0.0,
          "delta": -0.16,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0837,
          "after": 0.0,
          "delta": -0.0837,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5689,
          "after": 1.0,
          "delta": 0.4311,
          "percent_delta": 0.7578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8973,
          "after": 1.0,
          "delta": 0.1027,
          "percent_delta": 0.1145,
          "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.5689,
          "after": 1.0,
          "delta": 0.4311,
          "percent_delta": 0.7578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4536,
          "after": 3.0,
          "delta": -0.4536,
          "percent_delta": -0.1313,
          "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.3929,
          "after": 0.0,
          "delta": -0.3929,
          "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.3929,
          "after": 0.0,
          "delta": -0.3929,
          "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.1401,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.3271,
        "predicted_H": 0.6474,
        "predicted_HR": 0.0767,
        "predicted_RBI": 0.3764,
        "predicted_SO": 1.1309
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1401,
          "delta": 0.1401,
          "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.3271,
          "delta": 0.3271,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6474,
          "delta": -0.3526,
          "percent_delta": -0.3526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0767,
          "delta": 0.0767,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3764,
          "delta": -0.6236,
          "percent_delta": -0.6236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1309,
          "delta": 0.1309,
          "percent_delta": 0.1309,
          "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.3271,
          "delta": 0.3271,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3764,
          "delta": -0.6236,
          "percent_delta": -0.6236,
          "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.1401,
          "after": 0.0,
          "delta": -0.1401,
          "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": 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.3271,
          "after": 0.0,
          "delta": -0.3271,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6474,
          "after": 0.0,
          "delta": -0.6474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0767,
          "after": 0.0,
          "delta": -0.0767,
          "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.3764,
          "after": 0.0,
          "delta": -0.3764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1309,
          "after": 1.0,
          "delta": -0.1309,
          "percent_delta": -0.1157,
          "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.6474,
          "after": 0.0,
          "delta": -0.6474,
          "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.194,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.31,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2103,
          "after": 0.194,
          "delta": -0.0163,
          "percent_delta": -0.0775,
          "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.2814,
          "after": 0.271,
          "delta": -0.0104,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.326,
          "after": 0.31,
          "delta": -0.016,
          "percent_delta": -0.0491,
          "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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "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.2103,
          "after": 0.194,
          "delta": -0.0163,
          "percent_delta": -0.0775,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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_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": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2103,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2814,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.326,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2103,
          "delta": 0.0163,
          "percent_delta": 0.0838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2814,
          "delta": 0.0104,
          "percent_delta": 0.0385,
          "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.31,
          "after": 0.326,
          "delta": 0.016,
          "percent_delta": 0.0518,
          "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.194,
          "after": 0.2103,
          "delta": 0.0163,
          "percent_delta": 0.0838,
          "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.009,
        "after": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.482,
        "after": 4.0,
        "delta": 0.518,
        "percent_delta": 0.1488,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.212,
        "after": 0.2103,
        "delta": -0.0017,
        "percent_delta": -0.008,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.345,
        "after": 0.0,
        "delta": -0.345,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 1.0,
        "delta": 0.3,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.2814,
        "delta": -0.0436,
        "percent_delta": -0.1342,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.418,
        "after": 0.0,
        "delta": -0.418,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.332,
        "after": 0.326,
        "delta": -0.006,
        "percent_delta": -0.0181,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.891,
        "after": 1.0,
        "delta": 0.109,
        "percent_delta": 0.1223,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.482,
        "after": 4.0,
        "delta": 0.518,
        "percent_delta": 0.1488,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "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.009-
predicted_AB3.482-
predicted_AVG0.212-
predicted_BB0.345-
predicted_H0.700-
predicted_HR0.090-
predicted_OBP0.325-
predicted_R0.418-
predicted_RBI0.550-
predicted_SLG0.332-
predicted_SO0.891-
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.1340.016
predicted_3B0.008-0.001
predicted_AB3.454-0.028
predicted_AVG0.2220.010
predicted_BB0.344-0.001
predicted_H0.7430.043
predicted_HBP0.160-
predicted_HR0.086-0.004
predicted_OBP0.3280.003
predicted_R0.408-0.010
predicted_RBI0.5910.041
predicted_SLG0.3420.010
predicted_SO0.8920.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.1340.000
predicted_3B0.0080.000
predicted_AB3.4540.000
predicted_AVG0.210-0.011
predicted_BB0.342-0.002
predicted_H0.726-0.017
predicted_HBP0.1600.000
predicted_HR0.084-0.002
predicted_OBP0.281-0.046
predicted_R0.393-0.016
predicted_RBI0.569-0.023
predicted_SLG0.326-0.016
predicted_SO0.8970.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.48), rates preserved: AVG=0.174 HR/AB=0.024

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.1400.140
3B0.0090.009
BB0.3270.327
H0.647-0.353
HR0.0770.077
RBI0.376-0.624
SO1.1310.131
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.009
AB3.0000.000
BB0.000-0.327
H0.000-0.647
HR0.000-0.077
R0.0000.000
RBI0.000-0.376
SO1.000-0.131
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.134
predicted_3B0.000-0.008
predicted_AB3.000-0.454
predicted_AVG0.194-0.016
predicted_BB0.000-0.342
predicted_H1.0000.274
predicted_HR0.000-0.084
predicted_OBP0.271-0.010
predicted_R0.000-0.393
predicted_RBI1.0000.431
predicted_SLG0.310-0.016
predicted_SO1.0000.103
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.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: 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-16.0004.0001.0000.0000.0005.0001.0002.0004.0000.25000.40000.31250.25000.00000.31250.12500.2500
last_100.2010-33.0008.0002.0000.0002.00011.0005.0003.00010.0000.24240.34210.48480.24240.06060.33330.09090.3030
season0.60110-383.00086.00013.0001.0007.00041.00046.00038.00098.0000.22450.30770.31850.22450.01830.10710.09920.2559
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1540
predicted_3B0.0060
predicted_AB3.4160
predicted_AVG0.2342
predicted_BB0.3430
predicted_H0.8000
predicted_HBP0.1600
predicted_HR0.0810
predicted_OBP0.3312
predicted_R0.3960
predicted_RBI0.6460
predicted_SLG0.3543
predicted_SO0.8930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.15400.1335model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB3.48203.41603.4536model_form_blend
predicted_AVG0.21200.23420.2216model_form_blend
predicted_BB0.34500.34300.3441model_form_blend
predicted_H0.70000.80000.7431model_form_blend
predicted_HBP-0.16000.1600form_only
predicted_HR0.09000.08100.0861model_form_blend
predicted_OBP0.32500.33120.3277model_form_blend
predicted_R0.41800.39600.4085model_form_blend
predicted_RBI0.55000.64600.5914model_form_blend
predicted_SLG0.33200.35430.3416model_form_blend
predicted_SO0.89100.89300.8919model_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 date402
Season rows before report date402
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
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_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
allPositionsPlayed2B
gameID20260930_CHC@SD
game_typefull
mlbID630105
playerID630105
playerNameJake Cronenworth
pos2B
startedTrue
startingPosition2B
teamSD
teamID23
game_date2026-09-30
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 20261003: 585
All-history rows before 20261003: 585
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2359
Diff (system - data): -0.0009
System opponent_avg: 0.1640

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1230.0000.000Hitting_2B0.1261.000-0.126-1.000
predicted_3B0.0060.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.5704.0003.000Hitting_AB3.5084.0000.4920.000
predicted_AVG0.3050.0000.333Hitting_AVG0.2360.500-0.236-0.500
predicted_BB0.4970.0001.000Hitting_BB0.5160.000-0.5160.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H1.0900.0001.000Hitting_H0.8272.000-0.827-2.000
predicted_HR0.1600.0000.000Hitting_HR0.0910.000-0.0910.000
predicted_OBP0.3890.0000.500Hitting_OBP0.3350.500-0.335-0.500
predicted_R0.4520.0001.000Hitting_R0.4551.000-0.455-1.000
predicted_RBI0.5100.0000.000Hitting_RBI0.4261.000-0.426-1.000
predicted_SLG0.5020.0000.333Hitting_SLG0.3540.750-0.354-0.750
predicted_SO0.7102.0001.000Hitting_SO0.7200.0001.2802.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_SO: 0.7100 -> 2.0000 (boost 1.2900, worse)
Biggest Deboostpredicted_H: 1.0900 -> 0.0000 (deboost -1.0900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_R: 0.4520 -> 0.5497 (boost 0.0977, better)predicted_AB: 3.5700 -> 3.4640 (deboost -0.1060, 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.5279 -> 0.5012 (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_scaling61506predicted_SO: 0.6880 -> 1.0000 (boost 0.3120, worse)predicted_BB: 0.5000 -> 0.0000 (deboost -0.5000, worse)AB rounded to 3 (raw=3.57), rates preserved: AVG=0.246 HR/AB=0.048
6consistency_constraints11010predicted_R: 0.5288 -> 1.0000 (boost 0.4712, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_BB: 0.0000 -> 0.4247 (boost 0.4247, better)predicted_H: 1.0000 -> 0.6637 (deboost -0.3363, 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_allocation52323predicted_BB: 0.4247 -> 1.0000 (boost 0.5753, better)predicted_RBI: 0.3923 -> 0.0000 (deboost -0.3923, 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_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
11current_json_final33030predicted_SLG: 0.3150 -> 0.5012 (boost 0.1862, 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.123,
        "predicted_3B": 0.006,
        "predicted_AB": 3.57,
        "predicted_AVG": 0.305,
        "predicted_BB": 0.497,
        "predicted_H": 1.09,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.389,
        "predicted_R": 0.452,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.502,
        "predicted_SO": 0.71
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1461,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.464,
        "predicted_AVG": 0.3097,
        "predicted_BB": 0.5031,
        "predicted_H": 1.073,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1766,
        "predicted_OBP": 0.3966,
        "predicted_R": 0.5497,
        "predicted_RBI": 0.486,
        "predicted_SLG": 0.5279,
        "predicted_SO": 0.6838
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.1461,
          "delta": 0.0231,
          "percent_delta": 0.1878,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0134,
          "delta": 0.0074,
          "percent_delta": 1.2333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.57,
          "after": 3.464,
          "delta": -0.106,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.305,
          "after": 0.3097,
          "delta": 0.0047,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.497,
          "after": 0.5031,
          "delta": 0.0061,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 1.073,
          "delta": -0.017,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1766,
          "delta": 0.0166,
          "percent_delta": 0.1038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.389,
          "after": 0.3966,
          "delta": 0.0076,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.452,
          "after": 0.5497,
          "delta": 0.0977,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.486,
          "delta": -0.024,
          "percent_delta": -0.0471,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.502,
          "after": 0.5279,
          "delta": 0.0259,
          "percent_delta": 0.0516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.71,
          "after": 0.6838,
          "delta": -0.0262,
          "percent_delta": -0.0369,
          "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.452,
          "after": 0.5497,
          "delta": 0.0977,
          "percent_delta": 0.2162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.57,
          "after": 3.464,
          "delta": -0.106,
          "percent_delta": -0.0297,
          "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": 155
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1461,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.464,
        "predicted_AVG": 0.3027,
        "predicted_BB": 0.5,
        "predicted_H": 1.0485,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1716,
        "predicted_OBP": 0.3907,
        "predicted_R": 0.5288,
        "predicted_RBI": 0.4675,
        "predicted_SLG": 0.5012,
        "predicted_SO": 0.688
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1461,
          "after": 0.1461,
          "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.464,
          "after": 3.464,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3097,
          "after": 0.3027,
          "delta": -0.007,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5031,
          "after": 0.5,
          "delta": -0.0031,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.073,
          "after": 1.0485,
          "delta": -0.0245,
          "percent_delta": -0.0228,
          "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.1766,
          "after": 0.1716,
          "delta": -0.005,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3966,
          "after": 0.3907,
          "delta": -0.0059,
          "percent_delta": -0.0149,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5497,
          "after": 0.5288,
          "delta": -0.0209,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.486,
          "after": 0.4675,
          "delta": -0.0185,
          "percent_delta": -0.0381,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5279,
          "after": 0.5012,
          "delta": -0.0267,
          "percent_delta": -0.0506,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6838,
          "after": 0.688,
          "delta": 0.0042,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5279,
          "after": 0.5012,
          "delta": -0.0267,
          "percent_delta": -0.0506,
          "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.57), rates preserved: AVG=0.246 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.1461,
          "after": 0.0,
          "delta": -0.1461,
          "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.464,
          "after": 3.0,
          "delta": -0.464,
          "percent_delta": -0.1339,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.0,
          "delta": -0.5,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0485,
          "after": 1.0,
          "delta": -0.0485,
          "percent_delta": -0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1716,
          "after": 0.0,
          "delta": -0.1716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4675,
          "after": 0.0,
          "delta": -0.4675,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.688,
          "after": 1.0,
          "delta": 0.312,
          "percent_delta": 0.4535,
          "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.688,
          "after": 1.0,
          "delta": 0.312,
          "percent_delta": 0.4535,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.0,
          "delta": -0.5,
          "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": 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.5288,
          "after": 1.0,
          "delta": 0.4712,
          "percent_delta": 0.8911,
          "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.5288,
          "after": 1.0,
          "delta": 0.4712,
          "percent_delta": 0.8911,
          "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.1342,
        "predicted_3B": 0.0077,
        "predicted_BB": 0.4247,
        "predicted_H": 0.6637,
        "predicted_HR": 0.0908,
        "predicted_RBI": 0.3923,
        "predicted_SO": 0.9622
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1342,
          "delta": 0.1342,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0077,
          "delta": 0.0077,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4247,
          "delta": 0.4247,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6637,
          "delta": -0.3363,
          "percent_delta": -0.3363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0908,
          "delta": 0.0908,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3923,
          "delta": 0.3923,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9622,
          "delta": -0.0378,
          "percent_delta": -0.0378,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4247,
          "delta": 0.4247,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6637,
          "delta": -0.3363,
          "percent_delta": -0.3363,
          "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": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1342,
          "after": 0.0,
          "delta": -0.1342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4247,
          "after": 1.0,
          "delta": 0.5753,
          "percent_delta": 1.3546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6637,
          "after": 1.0,
          "delta": 0.3363,
          "percent_delta": 0.5067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0908,
          "after": 0.0,
          "delta": -0.0908,
          "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.3923,
          "after": 0.0,
          "delta": -0.3923,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9622,
          "after": 1.0,
          "delta": 0.0378,
          "percent_delta": 0.0393,
          "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_BB",
          "before": 0.4247,
          "after": 1.0,
          "delta": 0.5753,
          "percent_delta": 1.3546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3923,
          "after": 0.0,
          "delta": -0.3923,
          "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.193,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.315,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3027,
          "after": 0.193,
          "delta": -0.1097,
          "percent_delta": -0.3624,
          "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.3907,
          "after": 0.287,
          "delta": -0.1037,
          "percent_delta": -0.2654,
          "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.5012,
          "after": 0.315,
          "delta": -0.1862,
          "percent_delta": -0.3715,
          "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": 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": 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": 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.3027,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3907,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5012,
        "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.193,
          "after": 0.3027,
          "delta": 0.1097,
          "percent_delta": 0.5684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.287,
          "after": 0.3907,
          "delta": 0.1037,
          "percent_delta": 0.3612,
          "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.315,
          "after": 0.5012,
          "delta": 0.1862,
          "percent_delta": 0.5911,
          "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.315,
          "after": 0.5012,
          "delta": 0.1862,
          "percent_delta": 0.5911,
          "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.123,
        "after": 0.0,
        "delta": -0.123,
        "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.57,
        "after": 4.0,
        "delta": 0.43,
        "percent_delta": 0.1204,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.305,
        "after": 0.3027,
        "delta": -0.0023,
        "percent_delta": -0.0075,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.497,
        "after": 0.0,
        "delta": -0.497,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.389,
        "after": 0.3907,
        "delta": 0.0017,
        "percent_delta": 0.0044,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "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.502,
        "after": 0.5012,
        "delta": -0.0008,
        "percent_delta": -0.0016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.71,
        "after": 2.0,
        "delta": 1.29,
        "percent_delta": 1.8169,
        "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.71,
        "after": 2.0,
        "delta": 1.29,
        "percent_delta": 1.8169,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "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.123-
predicted_3B0.006-
predicted_AB3.570-
predicted_AVG0.305-
predicted_BB0.497-
predicted_H1.090-
predicted_HR0.160-
predicted_OBP0.389-
predicted_R0.452-
predicted_RBI0.510-
predicted_SLG0.502-
predicted_SO0.710-
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.1460.023
predicted_3B0.0130.007
predicted_AB3.464-0.106
predicted_AVG0.3100.005
predicted_BB0.5030.006
predicted_H1.073-0.017
predicted_HBP0.016-
predicted_HR0.1770.017
predicted_OBP0.3970.008
predicted_R0.5500.098
predicted_RBI0.486-0.024
predicted_SLG0.5280.026
predicted_SO0.684-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.1460.000
predicted_3B0.0130.000
predicted_AB3.4640.000
predicted_AVG0.303-0.007
predicted_BB0.500-0.003
predicted_H1.048-0.024
predicted_HBP0.0160.000
predicted_HR0.172-0.005
predicted_OBP0.391-0.006
predicted_R0.529-0.021
predicted_RBI0.468-0.018
predicted_SLG0.501-0.027
predicted_SO0.6880.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.57), rates preserved: AVG=0.246 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. 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.1340.134
3B0.0080.008
BB0.4250.425
H0.664-0.336
HR0.0910.091
RBI0.3920.392
SO0.962-0.038
8. 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.008
AB3.0000.000
BB1.0000.575
H1.0000.336
HR0.000-0.091
R1.0000.000
RBI0.000-0.392
SO1.0000.038
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.146
predicted_3B0.000-0.013
predicted_AB3.000-0.464
predicted_AVG0.193-0.110
predicted_BB0.000-0.500
predicted_H1.000-0.048
predicted_HR0.000-0.172
predicted_OBP0.287-0.104
predicted_R1.0000.471
predicted_RBI0.000-0.468
predicted_SLG0.315-0.186
predicted_SO1.0000.312
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.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: 155
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.0007.0001.0000.0002.0003.0005.0003.0002.0000.46670.55560.93330.46670.13330.20000.20000.1333
last_100.2010-33.00014.0003.0001.0003.0005.00010.0005.0007.0000.42420.50000.84850.42420.09090.15150.15150.2121
season0.60155-528.000124.00019.0001.00014.00059.00070.00077.000110.0000.23480.33390.35420.23490.02650.11170.14580.2083
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1760
predicted_3B0.0230
predicted_AB3.3270
predicted_AVG0.3158
predicted_BB0.5110
predicted_H1.0510
predicted_HBP0.0160
predicted_HR0.1980
predicted_OBP0.4065
predicted_R0.6760
predicted_RBI0.4550
predicted_SLG0.5614
predicted_SO0.6500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.17600.1461model_form_blend
predicted_3B0.00600.02300.0134model_form_blend
predicted_AB3.57003.32703.4640model_form_blend
predicted_AVG0.30500.31580.3097model_form_blend
predicted_BB0.49700.51100.5031model_form_blend
predicted_H1.09001.05101.0730model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.16000.19800.1766model_form_blend
predicted_OBP0.38900.40650.3966model_form_blend
predicted_R0.45200.67600.5497model_form_blend
predicted_RBI0.51000.45500.4860model_form_blend
predicted_SLG0.50200.56140.5279model_form_blend
predicted_SO0.71000.65000.6838model_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 date585
Season rows before report date585
Report year2026
Profile rows used155
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_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
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
allPositionsPlayedSS
gameID20260930_CHC@SD
game_typefull
mlbID593428
playerID593428
playerNameXander Bogaerts
posSS
startedTrue
startingPositionSS
teamSD
teamID23
game_date2026-09-30
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
Robbie Ray (592662) · PITCHER · Starter · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 9
All-history rows before 20261003: 9

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB3.0001.000-2.0000.000
predicted_ER3.0003.0003.000Pitching_ER2.6671.0000.3332.000
predicted_H6.0006.0006.000Pitching_H4.3337.0001.667-1.000
predicted_IP5.0005.0005.000Pitching_InningsPitched4.7003.1000.3001.900
predicted_SO4.0004.0004.000Pitching_SO3.6672.0000.3332.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": "592662",
  "player_name": "Robbie Ray",
  "position": "Starter",
  "team": "SD",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

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_H6.000-
predicted_HR1.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: 31
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.20015.00022.00014.00018.0003.0005.95591.58820.66180.97060.61770.79410.1323
last_100.351049.00025.00043.00028.00039.0007.0004.59181.44900.51020.87760.57140.79590.1429
season0.2031165.20066.000140.00084.000140.00022.0003.58551.35210.39840.84510.50700.84510.1328
Weighted Prediction From Real Data
MetricValue
predicted_BB2.7180
predicted_ER2.7100
predicted_ERA4.9495
predicted_H4.5480
predicted_HR0.6790
predicted_IP5.0000
predicted_SO4.0550
predicted_WHIP1.4744
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.71802.0159model_form_blend
predicted_ER3.00002.71002.8285model_form_blend
predicted_ERA-4.94954.9495form_only
predicted_H6.00004.54805.1414model_form_blend
predicted_HR1.00000.67900.8102model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO4.00004.05504.0325model_form_blend
predicted_WHIP-1.47441.4744form_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 date9
Season rows before report date9
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
IP5.0
H6
R3
ER3
BB1
SO4
HR1
BF22
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_BB1
Pitching_Balk0
Pitching_Batters Faced17
Pitching_ER1
Pitching_ERA3.59
Pitching_Flyouts3
Pitching_Groundouts2
Pitching_H7
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.1
Pitching_Pitches84
Pitching_R1
Pitching_SO2
Pitching_Strikes55
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260923_SD@LAD
game_typefull
mlbID592662
playerID592662
playerNameRobbie Ray
posP
startedTrue
startingPositionP
teamSD
teamID23
game_date2026-09-23
sl_k_percent19.9
sl_bb_percent12.0
sl_woba0.315
sl_xwoba0.335
sl_sweet_spot_percent33.2
sl_barrel_batted_rate8.0
sl_hard_hit_percent37.4
sl_whiff_percent24.6
sl_swing_percent46.2
sl_avg_best_speed78.739528798
sl_avg_hyper_speed93.988523369
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 20261003: 69
All-history rows before 20261003: 69

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3041.0000.6960.000
predicted_ER0.0000.0000.000Pitching_ER0.2610.000-0.2610.000
predicted_H0.0000.0000.000Pitching_H0.8550.000-0.8550.000
predicted_IP1.2001.2001.200Pitching_InningsPitched0.9581.2000.2420.000
predicted_SO0.0000.0000.000Pitching_SO1.2032.000-1.203-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_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, 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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 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.3333,
          "after": 1.2,
          "delta": -0.1333,
          "percent_delta": -0.1,
          "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.2,
          "delta": -0.1333,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "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.2,
        "delta": -0.1333,
        "percent_delta": -0.1,
        "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.2,
        "delta": -0.1333,
        "percent_delta": -0.1,
        "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_H0.000-
predicted_HR0.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: 67
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.2000.0003.0003.0009.0000.0000.00000.78260.00000.39130.39131.17390.0000
last_100.351013.1001.0006.0003.00016.0001.0000.67500.67500.07500.45000.22501.20000.0750
season0.206775.20014.00053.00020.00083.0004.0001.66520.96480.18500.70040.26431.09690.0529
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4540
predicted_ER0.2410
predicted_ERA1.5502
predicted_H0.8350
predicted_HR0.0890
predicted_IP1.1000
predicted_SO1.5510
predicted_WHIP0.9227
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.45400.7011model_form_blend
predicted_ER0.00000.24100.1319model_form_blend
predicted_ERA-1.55021.5502form_only
predicted_H0.00000.83500.4571model_form_blend
predicted_HR0.00000.08900.0487model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO0.00001.55100.8490model_form_blend
predicted_WHIP-0.92270.9227form_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 date69
Season rows before report date69
Report year2026
Profile rows used67
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.2
H0
R0
ER0
BB1
SO0
HR0
BF6
Pitches25

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_ERA0.00
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches21
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260930_CHC@SD
game_typefull
mlbID699134
playerID699134
playerNameBradgley Rodriguez
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-30
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
Mason Miller (695243) · PITCHER · Closer · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 67
All-history rows before 20261003: 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.3880.000-0.3880.000
predicted_ER1.0001.0001.000Pitching_ER0.1940.0000.8061.000
predicted_H1.0001.0001.000Pitching_H0.5671.0000.4330.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0071.000-0.0070.000
predicted_SO0.0000.0000.000Pitching_SO1.9552.000-1.955-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": "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": 1.0,
        "predicted_H": 1.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": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_H1.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: 67
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.0004.0005.0003.0008.0000.0007.20001.60000.80001.00000.60001.60000.0000
last_100.351010.2005.0009.0005.00020.0001.0004.21881.31250.46880.84380.46881.87500.0938
season0.206771.00013.00038.00026.000131.0003.0001.64790.90140.18310.53520.36621.84510.0423
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4750
predicted_ER0.5480
predicted_ERA4.9349
predicted_H0.8860
predicted_HR0.0680
predicted_IP1.0000
predicted_SO1.5380
predicted_WHIP1.3606
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.47500.2576model_form_blend
predicted_ER1.00000.54800.7548model_form_blend
predicted_ERA-4.93494.9349form_only
predicted_H1.00000.88600.9382model_form_blend
predicted_HR1.00000.06800.4945model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.53800.8342model_form_blend
predicted_WHIP-1.36061.3606form_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 used67
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO0
HR1
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_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches19
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260930_CHC@SD
game_typefull
mlbID695243
playerID695243
playerNameMason Miller
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-30
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
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 20261003: 77
All-history rows before 20261003: 77

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3640.0000.6361.000
predicted_ER2.0002.0002.000Pitching_ER0.3510.0001.6492.000
predicted_H1.0001.0001.000Pitching_H0.8571.0000.1430.000
predicted_IP0.1000.1000.100Pitching_InningsPitched1.0162.000-0.916-1.900
predicted_SO1.0001.0001.000Pitching_SO1.3900.000-0.3901.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": "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": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.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": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.1,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.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": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.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_BB1.000-
predicted_ER2.000-
predicted_H1.000-
predicted_HR1.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: 77
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0001.0003.0004.0006.0000.0001.50001.16670.16670.50000.66671.00000.0000
last_100.351010.1002.0005.0004.00012.0000.0001.74190.87100.19350.48390.38711.16130.0000
season0.207788.00027.00066.00028.000107.0004.0002.76141.06820.30680.75000.31821.21590.0454
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4610
predicted_ER0.2640
predicted_ERA2.4361
predicted_H0.6220
predicted_HR0.0380
predicted_IP1.0000
predicted_SO1.0360
predicted_WHIP1.1127
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.46100.6989model_form_blend
predicted_ER2.00000.26401.0301model_form_blend
predicted_ERA-2.43612.4361form_only
predicted_H1.00000.62200.7888model_form_blend
predicted_HR1.00000.03800.4625model_form_blend
predicted_IP0.10001.00000.2000model_form_blend
predicted_SO1.00001.03601.0201model_form_blend
predicted_WHIP-1.11271.1127form_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 date77
Season rows before report date77
Report year2026
Profile rows used77
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.1
H1
R2
ER2
BB1
SO1
HR1
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_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_ERA0.00
Pitching_Flyouts3
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches29
Pitching_R0
Pitching_SO0
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260930_CHC@SD
game_typefull
mlbID670970
playerID670970
playerNameAdrian Morejon
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-30
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

Home Team: MIL

Home Pitcher Deep Analysis

FieldValue
PitcherJacob Misiorowski
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.3589
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo97.5351
Avg Spin2568.6403
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER1
Pre H4
Pre BB4
Pre SO6
Season ERA1.8034
Season WHIP0.8015
Role Avg IP5.8220
Recent Avg IP4.7330
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "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.992,
    "defense_index": 1.0687,
    "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.1938,
    "offense_edge": 0.1432,
    "opponent_offense_edge": -0.008,
    "defense_strength": 0.1777,
    "opponent_defense_weakness": -0.0687,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0134,
    "run_prevention": 0.9713,
    "strikeout": 1.0065
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "694819",
    "profile": {
      "available": true,
      "pitcher_id": "694819",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 614.0,
        "k_percent": 37.9,
        "bb_percent": 6.6,
        "woba": 0.216,
        "xwoba": 0.226,
        "sweet_spot_percent": 33.9,
        "barrel_batted_rate": 3.6,
        "hard_hit_percent": 33.3,
        "avg_best_speed": 76.4985,
        "avg_hyper_speed": 92.9527,
        "whiff_percent": 37.3,
        "swing_percent": 51.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6247,
        "command_and_miss": 1.7507,
        "regression_edge": -0.2857,
        "xwoba_edge": 2.4571,
        "barrel_edge": 0.8,
        "hard_hit_edge": 0.6571,
        "whiff_edge": 1.7286,
        "bb_edge": 0.65,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "694819",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 91,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 91,
          "pitch_usage": 0.0,
          "release_speed": 97.5350871630707,
          "release_spin_rate": 2568.640260744372,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 91,
            "pitch_usage": 0.0,
            "release_speed": 97.5350871630707,
            "release_spin_rate": 2568.640260744372,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 97.5351,
          "release_spin_rate": 2568.6403,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.3589,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.8845,
      "strikeout_factor": 1.1594,
      "walk_factor": 0.948,
      "homer_factor": 0.836,
      "woba_minus_xwoba": -0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "694819",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.8845,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.8845,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.948,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.836,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.1594,
        "adjusted": 8
      }
    }
  }
}
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": 54.2,
    "ER": 14,
    "H": 34,
    "BB": 16,
    "SO": 67,
    "HR": 4,
    "ERA": 2.304878048780488,
    "WHIP": 0.9146341463414634,
    "K9": 11.03048780487805,
    "HR9": 0.6585365853658537,
    "games_pitched": 10,
    "quality_starts": 6,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "694819",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 91,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 91,
    "pitch_usage": 0.0,
    "release_speed": 97.5350871630707,
    "release_spin_rate": 2568.640260744372,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 91,
      "pitch_usage": 0.0,
      "release_speed": 97.5350871630707,
      "release_spin_rate": 2568.640260744372,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 97.5351,
    "release_spin_rate": 2568.6403,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 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": "694819",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 30,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 23.2,
        "ER": 6.0,
        "R": 6.0,
        "H": 17.0,
        "BB": 9.0,
        "SO": 30.0,
        "HR": 1.0,
        "BF": 94.0,
        "Pitches": 379.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.2,
        "R": 1.2,
        "H": 3.4,
        "BB": 1.8,
        "SO": 6.0,
        "HR": 0.2,
        "BF": 18.8,
        "Pitches": 75.8
      },
      "rates": {
        "ERA": 2.2817,
        "WHIP": 1.0986,
        "ER_per_IP": 0.25352,
        "H_per_IP": 0.71831,
        "BB_per_IP": 0.38028,
        "SO_per_IP": 1.26761,
        "HR_per_IP": 0.04225
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.2,
        "ER": 14.0,
        "R": 14.0,
        "H": 34.0,
        "BB": 16.0,
        "SO": 67.0,
        "HR": 4.0,
        "BF": 209.0,
        "Pitches": 839.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.4,
        "R": 1.4,
        "H": 3.4,
        "BB": 1.6,
        "SO": 6.7,
        "HR": 0.4,
        "BF": 20.9,
        "Pitches": 83.9
      },
      "rates": {
        "ERA": 2.3049,
        "WHIP": 0.9146,
        "ER_per_IP": 0.2561,
        "H_per_IP": 0.62195,
        "BB_per_IP": 0.29268,
        "SO_per_IP": 1.22561,
        "HR_per_IP": 0.07317
      }
    },
    "season": {
      "games": 30,
      "totals": {
        "IP": 174.2,
        "ER": 35.0,
        "R": 43.0,
        "H": 96.0,
        "BB": 44.0,
        "SO": 252.0,
        "HR": 14.0,
        "BF": 665.0,
        "Pitches": 2647.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.1667,
        "R": 1.4333,
        "H": 3.2,
        "BB": 1.4667,
        "SO": 8.4,
        "HR": 0.4667,
        "BF": 22.1667,
        "Pitches": 88.2333
      },
      "rates": {
        "ERA": 1.8034,
        "WHIP": 0.8015,
        "ER_per_IP": 0.20038,
        "H_per_IP": 0.54962,
        "BB_per_IP": 0.25191,
        "SO_per_IP": 1.44275,
        "HR_per_IP": 0.08015
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.475,
    "predicted_H": 3.652,
    "predicted_BB": 1.735,
    "predicted_SO": 6.469,
    "predicted_HR": 0.382,
    "predicted_ERA": 2.5393,
    "predicted_WHIP": 1.0303
  }
}
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.0,
      "form": 5.1,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.475,
      "final": 1.2801,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 3.652,
      "final": 3.7948,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 4.0,
      "form": 1.735,
      "final": 2.6645,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 6.469,
      "final": 5.4558,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.382,
      "final": 0.2252,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5393,
      "final": 2.5393,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0303,
      "final": 1.0303,
      "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
PitcherAaron Ashby
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7133
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1497
Avg Velo92.5376
Avg Spin2237.9882
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER2
Pre H3
Pre BB0
Pre SO0
Season ERA3.1231
Season WHIP1.3097
Role Avg IP1.1760
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "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.992,
    "defense_index": 1.0687,
    "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.1938,
    "offense_edge": 0.1432,
    "opponent_offense_edge": -0.008,
    "defense_strength": 0.1777,
    "opponent_defense_weakness": -0.0687,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0134,
    "run_prevention": 0.9713,
    "strikeout": 1.0065
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "676879",
    "profile": {
      "available": true,
      "pitcher_id": "676879",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 358.0,
        "k_percent": 30.3,
        "bb_percent": 10.7,
        "woba": 0.287,
        "xwoba": 0.268,
        "sweet_spot_percent": 28.1,
        "barrel_batted_rate": 4.9,
        "hard_hit_percent": 40.2,
        "avg_best_speed": 76.2048,
        "avg_hyper_speed": 94.4472,
        "whiff_percent": 32.1,
        "swing_percent": 40.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7853,
        "command_and_miss": 0.7971,
        "regression_edge": 0.5429,
        "xwoba_edge": 1.2571,
        "barrel_edge": 0.5111,
        "hard_hit_edge": -0.3286,
        "whiff_edge": 0.9857,
        "bb_edge": -0.375,
        "pitch_design_score": 0.1497
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "676879",
        "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": 92.53759546608512,
          "release_spin_rate": 2237.9882290125556,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 92.53759546608512,
            "release_spin_rate": 2237.9882290125556,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5376,
          "release_spin_rate": 2237.9882,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1497,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.0694,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7133,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9394,
      "strikeout_factor": 1.0863,
      "walk_factor": 1.03,
      "homer_factor": 0.9345,
      "woba_minus_xwoba": 0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "676879",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9394,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9394,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.03,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9345,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0863,
        "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": 12.1,
    "ER": 4,
    "H": 10,
    "BB": 4,
    "SO": 11,
    "HR": 2,
    "ERA": 2.9189189189189193,
    "WHIP": 1.1351351351351353,
    "K9": 8.027027027027028,
    "HR9": 1.4594594594594597,
    "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": "676879",
  "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": 92.53759546608512,
    "release_spin_rate": 2237.9882290125556,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 92.53759546608512,
      "release_spin_rate": 2237.9882290125556,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5376,
    "release_spin_rate": 2237.9882,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1497,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0694,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 18.411,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7864,
    "prior_weight": 0.2136
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "676879",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 75,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 30.0,
        "Pitches": 129.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 6.0,
        "Pitches": 25.8
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 0.625,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.25,
        "SO_per_IP": 0.875,
        "HR_per_IP": 0.125
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 10.0,
        "BB": 4.0,
        "SO": 11.0,
        "HR": 2.0,
        "BF": 50.0,
        "Pitches": 212.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.1,
        "HR": 0.2,
        "BF": 5.0,
        "Pitches": 21.2
      },
      "rates": {
        "ERA": 2.9189,
        "WHIP": 1.1351,
        "ER_per_IP": 0.32432,
        "H_per_IP": 0.81081,
        "BB_per_IP": 0.32432,
        "SO_per_IP": 0.89189,
        "HR_per_IP": 0.16216
      }
    },
    "season": {
      "games": 75,
      "totals": {
        "IP": 89.1,
        "ER": 31.0,
        "R": 36.0,
        "H": 76.0,
        "BB": 41.0,
        "SO": 116.0,
        "HR": 8.0,
        "BF": 383.0,
        "Pitches": 1582.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4133,
        "R": 0.48,
        "H": 1.0133,
        "BB": 0.5467,
        "SO": 1.5467,
        "HR": 0.1067,
        "BF": 5.1067,
        "Pitches": 21.0933
      },
      "rates": {
        "ERA": 3.1231,
        "WHIP": 1.3097,
        "ER_per_IP": 0.34701,
        "H_per_IP": 0.85075,
        "BB_per_IP": 0.45896,
        "SO_per_IP": 1.29851,
        "HR_per_IP": 0.08955
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.472,
    "predicted_H": 0.966,
    "predicted_BB": 0.457,
    "predicted_SO": 1.323,
    "predicted_HR": 0.186,
    "predicted_ERA": 3.0754,
    "predicted_WHIP": 1.0308
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4402,
  "form_weight": 0.5598,
  "form_reliability": 0.7864,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.411,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7864,
    "prior_weight": 0.2136
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.1,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.472,
      "final": 1.1447,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.966,
      "final": 1.8615,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.457,
      "final": 0.2558,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.323,
      "final": 0.7406,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.1041,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0754,
      "final": 3.0754,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0308,
      "final": 1.0308,
      "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
PitcherAbner Uribe
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6573
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2700
Avg Velo94.6849
Avg Spin2398.7948
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO0
Season ERA1.9719
Season WHIP1.0281
Role Avg IP0.9730
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "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.992,
    "defense_index": 1.0687,
    "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.1938,
    "offense_edge": 0.1432,
    "opponent_offense_edge": -0.008,
    "defense_strength": 0.1777,
    "opponent_defense_weakness": -0.0687,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0134,
    "run_prevention": 0.9713,
    "strikeout": 1.0065
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682842",
    "profile": {
      "available": true,
      "pitcher_id": "682842",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 213.0,
        "k_percent": 26.5,
        "bb_percent": 8.1,
        "woba": 0.239,
        "xwoba": 0.26,
        "sweet_spot_percent": 27.0,
        "barrel_batted_rate": 2.0,
        "hard_hit_percent": 34.9,
        "avg_best_speed": 76.7219,
        "avg_hyper_speed": 93.4788,
        "whiff_percent": 26.8,
        "swing_percent": 43.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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.2521,
        "command_and_miss": 0.4179,
        "regression_edge": -0.6,
        "xwoba_edge": 1.4857,
        "barrel_edge": 1.1556,
        "hard_hit_edge": 0.4286,
        "whiff_edge": 0.2286,
        "bb_edge": 0.275,
        "pitch_design_score": 0.27
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "682842",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 11,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 11,
          "pitch_usage": 0.0,
          "release_speed": 94.68489223992312,
          "release_spin_rate": 2398.794798347504,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 11,
            "pitch_usage": 0.0,
            "release_speed": 94.68489223992312,
            "release_spin_rate": 2398.794798347504,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6849,
          "release_spin_rate": 2398.7948,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.27,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.9283,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6573,
      "sample_weight": 0.852,
      "run_prevention_factor": 0.9441,
      "strikeout_factor": 1.0292,
      "walk_factor": 0.9813,
      "homer_factor": 0.8687,
      "woba_minus_xwoba": -0.021,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "682842",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9524,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9524,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9841,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8881,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0249,
        "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": 2,
    "H": 10,
    "BB": 1,
    "SO": 11,
    "HR": 0,
    "ERA": 2.0,
    "WHIP": 1.2222222222222223,
    "K9": 11.0,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "682842",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 11,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 11,
    "pitch_usage": 0.0,
    "release_speed": 94.68489223992312,
    "release_spin_rate": 2398.794798347504,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 11,
      "pitch_usage": 0.0,
      "release_speed": 94.68489223992312,
      "release_spin_rate": 2398.794798347504,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6849,
    "release_spin_rate": 2398.7948,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.27,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.9283,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7098,
    "prior_weight": 0.2902
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682842",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 62.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 12.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 10.0,
        "BB": 1.0,
        "SO": 11.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 134.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.1,
        "SO": 1.1,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 1.2222,
        "ER_per_IP": 0.22222,
        "H_per_IP": 1.11111,
        "BB_per_IP": 0.11111,
        "SO_per_IP": 1.22222,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 59.1,
        "ER": 13.0,
        "R": 13.0,
        "H": 42.0,
        "BB": 19.0,
        "SO": 62.0,
        "HR": 3.0,
        "BF": 234.0,
        "Pitches": 918.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2131,
        "R": 0.2131,
        "H": 0.6885,
        "BB": 0.3115,
        "SO": 1.0164,
        "HR": 0.0492,
        "BF": 3.8361,
        "Pitches": 15.0492
      },
      "rates": {
        "ERA": 1.9719,
        "WHIP": 1.0281,
        "ER_per_IP": 0.2191,
        "H_per_IP": 0.70787,
        "BB_per_IP": 0.32022,
        "SO_per_IP": 1.04494,
        "HR_per_IP": 0.05056
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.235,
    "predicted_H": 0.982,
    "predicted_BB": 0.183,
    "predicted_SO": 1.106,
    "predicted_HR": 0.05,
    "predicted_ERA": 2.1145,
    "predicted_WHIP": 1.1647
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4726,
  "form_weight": 0.5274,
  "form_reliability": 0.7098,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7098,
    "prior_weight": 0.2902
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.235,
      "final": 0.1239,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.982,
      "final": 1.4631,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.183,
      "final": 0.0965,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.106,
      "final": 1.5285,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0264,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.1145,
      "final": 2.1145,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1647,
      "final": 1.1647,
      "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
PitcherTrevor Megill
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6168
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2613
Avg Velo94.5299
Avg Spin2505.9405
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA2.0432
Season WHIP0.8595
Role Avg IP0.9950
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "MIL",
    "games": 162,
    "wins": 103,
    "losses": 59,
    "win_pct": 0.6358,
    "runs_scored": 832.0,
    "runs_allowed": 618.0,
    "run_differential": 214.0,
    "run_differential_per_game": 1.321,
    "avg_runs_scored": 5.1358,
    "avg_runs_allowed": 3.8148,
    "offense_index": 1.1432,
    "defense_index": 1.1777,
    "current_streak": "W5",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.4,
      "avg_runs_allowed": 3.0,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": 0.3822
  },
  "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.992,
    "defense_index": 1.0687,
    "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.1938,
    "offense_edge": 0.1432,
    "opponent_offense_edge": -0.008,
    "defense_strength": 0.1777,
    "opponent_defense_weakness": -0.0687,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0134,
    "run_prevention": 0.9713,
    "strikeout": 1.0065
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656730",
    "profile": {
      "available": true,
      "pitcher_id": "656730",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 216.0,
        "k_percent": 28.5,
        "bb_percent": 6.2,
        "woba": 0.208,
        "xwoba": 0.252,
        "sweet_spot_percent": 28.7,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 42.0,
        "avg_best_speed": 81.2085,
        "avg_hyper_speed": 94.3067,
        "whiff_percent": 30.5,
        "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.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0782,
        "command_and_miss": 0.8264,
        "regression_edge": -1.2571,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.1778,
        "hard_hit_edge": -0.5857,
        "whiff_edge": 0.7571,
        "bb_edge": 0.75,
        "pitch_design_score": 0.2613
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656730",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 8,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 8,
          "pitch_usage": 0.0,
          "release_speed": 94.52994912427022,
          "release_spin_rate": 2505.9404761978085,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 8,
            "pitch_usage": 0.0,
            "release_speed": 94.52994912427022,
            "release_spin_rate": 2505.9404761978085,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5299,
          "release_spin_rate": 2505.9405,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2613,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.8663,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6168,
      "sample_weight": 0.864,
      "run_prevention_factor": 0.9476,
      "strikeout_factor": 1.0578,
      "walk_factor": 0.9482,
      "homer_factor": 0.9635,
      "woba_minus_xwoba": -0.044,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656730",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9547,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9547,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9552,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9685,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0499,
        "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": 5,
    "H": 10,
    "BB": 1,
    "SO": 12,
    "HR": 1,
    "ERA": 4.821428571428572,
    "WHIP": 1.1785714285714288,
    "K9": 11.571428571428573,
    "HR9": 0.9642857142857144,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656730",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 8,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 8,
    "pitch_usage": 0.0,
    "release_speed": 94.52994912427022,
    "release_spin_rate": 2505.9404761978085,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 8,
      "pitch_usage": 0.0,
      "release_speed": 94.52994912427022,
      "release_spin_rate": 2505.9404761978085,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5299,
    "release_spin_rate": 2505.9405,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2613,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.8663,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.709,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7177,
    "prior_weight": 0.2823
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656730",
  "report_date": "20261003",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 57.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 11.4
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 0.6,
        "ER_per_IP": 0.4,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 5.0,
        "R": 5.0,
        "H": 10.0,
        "BB": 1.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 39.0,
        "Pitches": 141.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 1.0,
        "BB": 0.1,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 3.9,
        "Pitches": 14.1
      },
      "rates": {
        "ERA": 4.8214,
        "WHIP": 1.1786,
        "ER_per_IP": 0.53571,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.10714,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 61.2,
        "ER": 14.0,
        "R": 16.0,
        "H": 38.0,
        "BB": 15.0,
        "SO": 69.0,
        "HR": 1.0,
        "BF": 237.0,
        "Pitches": 865.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2258,
        "R": 0.2581,
        "H": 0.6129,
        "BB": 0.2419,
        "SO": 1.1129,
        "HR": 0.0161,
        "BF": 3.8226,
        "Pitches": 13.9516
      },
      "rates": {
        "ERA": 2.0432,
        "WHIP": 0.8595,
        "ER_per_IP": 0.22703,
        "H_per_IP": 0.61622,
        "BB_per_IP": 0.24324,
        "SO_per_IP": 1.11892,
        "HR_per_IP": 0.01622
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.441,
    "predicted_H": 0.829,
    "predicted_BB": 0.169,
    "predicted_SO": 1.135,
    "predicted_HR": 0.071,
    "predicted_ERA": 3.9683,
    "predicted_WHIP": 0.9981
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4693,
  "form_weight": 0.5307,
  "form_reliability": 0.7177,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.709,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7177,
    "prior_weight": 0.2823
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.441,
      "final": 0.7033,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.829,
      "final": 0.9092,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.169,
      "final": 0.0897,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.135,
      "final": 1.0716,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.071,
      "final": 0.507,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9683,
      "final": 3.9683,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9981,
      "final": 0.9981,
      "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."
}
Jake Bauers (641343) · BATTER · 1B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 547
All-history rows before 20261003: 547
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2693
Diff (system - data): -0.0043
System opponent_avg: 0.2780

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1450.0000.000Hitting_2B0.1430.000-0.1430.000
predicted_3B0.0140.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.3914.0004.000Hitting_AB3.5104.0000.4900.000
predicted_AVG0.2310.5000.250Hitting_AVG0.2690.2500.2310.250
predicted_BB0.6450.0001.000Hitting_BB0.7390.000-0.7390.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.7502.0001.000Hitting_H0.9451.0001.0551.000
predicted_HR0.1601.0000.000Hitting_HR0.2030.0000.7971.000
predicted_OBP0.3260.5000.400Hitting_OBP0.3980.2500.1020.250
predicted_R0.6591.0001.000Hitting_R0.7061.0000.2940.000
predicted_RBI0.5102.0001.000Hitting_RBI0.6690.0001.3312.000
predicted_SLG0.4151.2500.250Hitting_SLG0.4930.2500.7571.000
predicted_SO1.1162.0001.000Hitting_SO1.1221.0000.8781.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics7
Deboosted Metrics2
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_RBI: 0.5100 -> 2.0000 (boost 1.4900, better)
Biggest Deboostpredicted_BB: 0.6450 -> 0.0000 (deboost -0.6450, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65142predicted_SO: 1.1160 -> 1.2348 (boost 0.1188, worse)predicted_SLG: 0.4150 -> 0.4081 (deboost -0.0069, 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_OBP: 0.3326 -> 0.3500 (boost 0.0174, 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_scaling74352predicted_AB: 3.4593 -> 4.0000 (boost 0.5407, better)predicted_SO: 1.2206 -> 1.0000 (deboost -0.2206, better)AB rounded to 4 (raw=3.46), rates preserved: AVG=0.225 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.6758 -> 1.0000 (boost 0.3242, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63324predicted_SO: 1.0000 -> 1.1708 (boost 0.1708, worse)predicted_RBI: 1.0000 -> 0.5970 (deboost -0.4030, 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_RBI: 0.5970 -> 1.0000 (boost 0.4030, better)predicted_SO: 1.1708 -> 1.0000 (deboost -0.1708, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context11010predicted_OBP: 0.3500 -> 0.3650 (boost 0.0150, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54132predicted_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_final10101-predicted_OBP: 0.3650 -> 0.3500 (deboost -0.0150, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641343",
  "player_name": "Jake Bauers",
  "position": "1B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.145,
        "predicted_3B": 0.014,
        "predicted_AB": 3.391,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.645,
        "predicted_H": 0.75,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.326,
        "predicted_R": 0.659,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.415,
        "predicted_SO": 1.116
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1628,
        "predicted_3B": 0.0118,
        "predicted_AB": 3.4593,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.6019,
        "predicted_H": 0.8018,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.3326,
        "predicted_R": 0.656,
        "predicted_RBI": 0.5248,
        "predicted_SLG": 0.4081,
        "predicted_SO": 1.2348
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.145,
          "after": 0.1628,
          "delta": 0.0178,
          "percent_delta": 0.1228,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0118,
          "delta": -0.0022,
          "percent_delta": -0.1571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.391,
          "after": 3.4593,
          "delta": 0.0683,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.237,
          "delta": 0.006,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.645,
          "after": 0.6019,
          "delta": -0.0431,
          "percent_delta": -0.0668,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.75,
          "after": 0.8018,
          "delta": 0.0518,
          "percent_delta": 0.0691,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.14,
          "delta": -0.02,
          "percent_delta": -0.125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3326,
          "delta": 0.0066,
          "percent_delta": 0.0202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.659,
          "after": 0.656,
          "delta": -0.003,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.5248,
          "delta": 0.0148,
          "percent_delta": 0.029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.4081,
          "delta": -0.0069,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.116,
          "after": 1.2348,
          "delta": 0.1188,
          "percent_delta": 0.1065,
          "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.116,
          "after": 1.2348,
          "delta": 0.1188,
          "percent_delta": 0.1065,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.4081,
          "delta": -0.0069,
          "percent_delta": -0.0166,
          "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": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1628,
        "predicted_3B": 0.0118,
        "predicted_AB": 3.4593,
        "predicted_AVG": 0.2356,
        "predicted_BB": 0.6088,
        "predicted_H": 0.8151,
        "predicted_HBP": 0.019,
        "predicted_HR": 0.1428,
        "predicted_OBP": 0.35,
        "predicted_R": 0.6758,
        "predicted_RBI": 0.5406,
        "predicted_SLG": 0.4134,
        "predicted_SO": 1.2206
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1628,
          "after": 0.1628,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0118,
          "after": 0.0118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4593,
          "after": 3.4593,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2356,
          "delta": -0.0014,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6019,
          "after": 0.6088,
          "delta": 0.0069,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8018,
          "after": 0.8151,
          "delta": 0.0133,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.019,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1428,
          "delta": 0.0028,
          "percent_delta": 0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3326,
          "after": 0.35,
          "delta": 0.0174,
          "percent_delta": 0.0523,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.656,
          "after": 0.6758,
          "delta": 0.0198,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5248,
          "after": 0.5406,
          "delta": 0.0158,
          "percent_delta": 0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4081,
          "after": 0.4134,
          "delta": 0.0053,
          "percent_delta": 0.013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2348,
          "after": 1.2206,
          "delta": -0.0142,
          "percent_delta": -0.0115,
          "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.3326,
          "after": 0.35,
          "delta": 0.0174,
          "percent_delta": 0.0523,
          "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.46), rates preserved: AVG=0.225 HR/AB=0.041",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1628,
          "after": 0.0,
          "delta": -0.1628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0118,
          "after": 0.0,
          "delta": -0.0118,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4593,
          "after": 4.0,
          "delta": 0.5407,
          "percent_delta": 0.1563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6088,
          "after": 1.0,
          "delta": 0.3912,
          "percent_delta": 0.6426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8151,
          "after": 1.0,
          "delta": 0.1849,
          "percent_delta": 0.2268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1428,
          "after": 0.0,
          "delta": -0.1428,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5406,
          "after": 1.0,
          "delta": 0.4594,
          "percent_delta": 0.8498,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2206,
          "after": 1.0,
          "delta": -0.2206,
          "percent_delta": -0.1807,
          "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_AB",
          "before": 3.4593,
          "after": 4.0,
          "delta": 0.5407,
          "percent_delta": 0.1563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2206,
          "after": 1.0,
          "delta": -0.2206,
          "percent_delta": -0.1807,
          "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.6758,
          "after": 1.0,
          "delta": 0.3242,
          "percent_delta": 0.4797,
          "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.6758,
          "after": 1.0,
          "delta": 0.3242,
          "percent_delta": 0.4797,
          "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.1443,
        "predicted_3B": 0.0139,
        "predicted_BB": 0.69,
        "predicted_H": 0.8506,
        "predicted_HR": 0.1481,
        "predicted_RBI": 0.597,
        "predicted_SO": 1.1708
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1443,
          "delta": 0.1443,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0139,
          "delta": 0.0139,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.69,
          "delta": -0.31,
          "percent_delta": -0.31,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8506,
          "delta": -0.1494,
          "percent_delta": -0.1494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1481,
          "delta": 0.1481,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.597,
          "delta": -0.403,
          "percent_delta": -0.403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1708,
          "delta": 0.1708,
          "percent_delta": 0.1708,
          "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.1708,
          "delta": 0.1708,
          "percent_delta": 0.1708,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.597,
          "delta": -0.403,
          "percent_delta": -0.403,
          "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.1443,
          "after": 0.0,
          "delta": -0.1443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0139,
          "after": 0.0,
          "delta": -0.0139,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.69,
          "after": 1.0,
          "delta": 0.31,
          "percent_delta": 0.4493,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8506,
          "after": 1.0,
          "delta": 0.1494,
          "percent_delta": 0.1756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1481,
          "after": 0.0,
          "delta": -0.1481,
          "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.597,
          "after": 1.0,
          "delta": 0.403,
          "percent_delta": 0.675,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1708,
          "after": 1.0,
          "delta": -0.1708,
          "percent_delta": -0.1459,
          "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.597,
          "after": 1.0,
          "delta": 0.403,
          "percent_delta": 0.675,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.1708,
          "after": 1.0,
          "delta": -0.1708,
          "percent_delta": -0.1459,
          "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.237,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.365,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2356,
          "after": 0.237,
          "delta": 0.0014,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.35,
          "after": 0.365,
          "delta": 0.015,
          "percent_delta": 0.0429,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4134,
          "after": 0.409,
          "delta": -0.0044,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_OBP",
          "before": 0.35,
          "after": 0.365,
          "delta": 0.015,
          "percent_delta": 0.0429,
          "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": 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": 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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 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.2356,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.35,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4134,
        "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.237,
          "after": 0.2356,
          "delta": -0.0014,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.365,
          "after": 0.35,
          "delta": -0.015,
          "percent_delta": -0.041,
          "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.409,
          "after": 0.4134,
          "delta": 0.0044,
          "percent_delta": 0.0106,
          "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_OBP",
          "before": 0.365,
          "after": 0.35,
          "delta": -0.015,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.145,
        "after": 0.0,
        "delta": -0.145,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.391,
        "after": 4.0,
        "delta": 0.609,
        "percent_delta": 0.1796,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.2356,
        "delta": 0.0046,
        "percent_delta": 0.0199,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.645,
        "after": 0.0,
        "delta": -0.645,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 2.0,
        "delta": 1.25,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 1.0,
        "delta": 0.84,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.35,
        "delta": 0.024,
        "percent_delta": 0.0736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.659,
        "after": 1.0,
        "delta": 0.341,
        "percent_delta": 0.5175,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 2.0,
        "delta": 1.49,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.415,
        "after": 0.4134,
        "delta": -0.0016,
        "percent_delta": -0.0039,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.116,
        "after": 2.0,
        "delta": 0.884,
        "percent_delta": 0.7921,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 7,
      "deboosted_metrics": 2,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 2.0,
        "delta": 1.49,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.645,
        "after": 0.0,
        "delta": -0.645,
        "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.145-
predicted_3B0.014-
predicted_AB3.391-
predicted_AVG0.231-
predicted_BB0.645-
predicted_H0.750-
predicted_HR0.160-
predicted_OBP0.326-
predicted_R0.659-
predicted_RBI0.510-
predicted_SLG0.415-
predicted_SO1.116-
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.018
predicted_3B0.012-0.002
predicted_AB3.4590.068
predicted_AVG0.2370.006
predicted_BB0.602-0.043
predicted_H0.8020.052
predicted_HBP0.019-
predicted_HR0.140-0.020
predicted_OBP0.3330.007
predicted_R0.656-0.003
predicted_RBI0.5250.015
predicted_SLG0.408-0.007
predicted_SO1.2350.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.1630.000
predicted_3B0.0120.000
predicted_AB3.4590.000
predicted_AVG0.236-0.001
predicted_BB0.6090.007
predicted_H0.8150.013
predicted_HBP0.0190.000
predicted_HR0.1430.003
predicted_OBP0.3500.017
predicted_R0.6760.020
predicted_RBI0.5410.016
predicted_SLG0.4130.005
predicted_SO1.221-0.014
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.46), rates preserved: AVG=0.225 HR/AB=0.041

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.1440.144
3B0.0140.014
BB0.690-0.310
H0.851-0.149
HR0.1480.148
RBI0.597-0.403
SO1.1710.171
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.014
AB4.0000.000
BB1.0000.310
H1.0000.149
HR0.000-0.148
R1.0000.000
RBI1.0000.403
SO1.000-0.171
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.012
predicted_AB4.0000.541
predicted_AVG0.2370.001
predicted_BB1.0000.391
predicted_H1.0000.185
predicted_HR0.000-0.143
predicted_OBP0.3650.015
predicted_R1.0000.324
predicted_RBI1.0000.459
predicted_SLG0.409-0.004
predicted_SO1.000-0.221
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
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.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: 138
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.0004.0001.0000.0000.0003.0003.0001.00010.0000.20000.22730.25000.20000.00000.15000.05000.5000
last_100.2010-35.0008.0003.0000.0000.0003.0007.0006.00018.0000.22860.33330.31430.22860.00000.08570.17140.5143
season0.60138-468.000124.00020.0002.00025.00084.00091.00089.000154.0000.26500.38480.47650.26500.05340.17950.19020.3291
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1860
predicted_3B0.0090
predicted_AB3.5480
predicted_AVG0.2449
predicted_BB0.5460
predicted_H0.8690
predicted_HBP0.0190
predicted_HR0.1140
predicted_OBP0.3411
predicted_R0.6520
predicted_RBI0.5440
predicted_SLG0.3992
predicted_SO1.3890
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14500.18600.1628model_form_blend
predicted_3B0.01400.00900.0118model_form_blend
predicted_AB3.39103.54803.4593model_form_blend
predicted_AVG0.23100.24490.2370model_form_blend
predicted_BB0.64500.54600.6019model_form_blend
predicted_H0.75000.86900.8018model_form_blend
predicted_HBP-0.01900.0190form_only
predicted_HR0.16000.11400.1400model_form_blend
predicted_OBP0.32600.34110.3326model_form_blend
predicted_R0.65900.65200.6560model_form_blend
predicted_RBI0.51000.54400.5248model_form_blend
predicted_SLG0.41500.39920.4081model_form_blend
predicted_SO1.11601.38901.2348model_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 used138
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
HR1
R1
RBI2
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_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
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
allPositionsPlayed1B
gameID20260927_STL@MIL
game_typefull
mlbID641343
playerID641343
playerNameJake Bauers
pos1B
startedTrue
startingPosition1B
teamMIL
teamID16
game_date2026-09-27
sl_k_percent27.0
sl_bb_percent16.3
sl_woba0.381
sl_xwoba0.371
sl_xba0.253
sl_xslg0.467
sl_sweet_spot_percent38.6
sl_barrel_batted_rate14.0
sl_hard_hit_percent51.9
sl_exit_velocity_avg92.1
sl_launch_angle_avg12.1
sl_whiff_percent29.8
sl_swing_percent40.6
Jackson Chourio (694192) · BATTER · LF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 541
All-history rows before 20261003: 541
System season_avg: 0.2950
Data season_avg (2026 season-to-date): 0.3002
Diff (system - data): -0.0052
System opponent_avg: 0.2480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2160.0000.000Hitting_2B0.2530.000-0.2530.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB5.1204.0004.000Hitting_AB4.2744.000-0.2740.000
predicted_AVG0.3190.2500.250Hitting_AVG0.3000.750-0.050-0.500
predicted_BB0.3760.0001.000Hitting_BB0.3810.000-0.3810.000
predicted_CS-0.0000.000BaseRunning_CS0.0410.000-0.0410.000
predicted_H1.6301.0001.000Hitting_H1.2833.000-0.283-2.000
predicted_HR0.2500.0001.000Hitting_HR0.2000.000-0.2000.000
predicted_OBP0.4210.2500.400Hitting_OBP0.3580.750-0.108-0.500
predicted_R0.7681.0001.000Hitting_R0.8232.0000.177-1.000
predicted_RBI0.9201.0001.000Hitting_RBI0.6172.0000.383-1.000
predicted_SLG0.5610.2501.000Hitting_SLG0.5000.750-0.250-0.500
predicted_SO1.0720.0001.000Hitting_SO1.1000.000-1.1000.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_R: 0.7680 -> 1.0000 (boost 0.2320, better)
Biggest Deboostpredicted_AB: 5.1200 -> 4.0000 (deboost -1.1200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72534predicted_R: 0.7680 -> 0.8207 (boost 0.0527, better)predicted_AB: 5.1200 -> 4.5028 (deboost -0.6172, 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.4201 -> 0.3908 (deboost -0.0293, 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_RBI: 0.8725 -> 1.0000 (boost 0.1275, better)predicted_H: 1.5128 -> 1.0000 (deboost -0.5128, worse)AB rounded to 4 (raw=5.12), rates preserved: AVG=0.282 HR/AB=0.046
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.8455 -> 1.0000 (boost 0.1545, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_BB: 0.0000 -> 0.5291 (boost 0.5291, better)predicted_RBI: 1.0000 -> 0.5664 (deboost -0.4336, 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.1679 -> 1.0000 (boost 0.8321, better)predicted_2B: 0.1987 -> 0.0000 (deboost -0.1987, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_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
11simulation_box_score_reference10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4340 -> 0.5304 (boost 0.0964, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694192",
  "player_name": "Jackson Chourio",
  "position": "LF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.216,
        "predicted_3B": 0.0,
        "predicted_AB": 5.12,
        "predicted_AVG": 0.319,
        "predicted_BB": 0.376,
        "predicted_H": 1.63,
        "predicted_HR": 0.25,
        "predicted_OBP": 0.421,
        "predicted_R": 0.768,
        "predicted_RBI": 0.92,
        "predicted_SLG": 0.561,
        "predicted_SO": 1.072
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1738,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.5028,
        "predicted_AVG": 0.3335,
        "predicted_BB": 0.4008,
        "predicted_H": 1.4881,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.2291,
        "predicted_OBP": 0.4201,
        "predicted_R": 0.8207,
        "predicted_RBI": 0.8469,
        "predicted_SLG": 0.5554,
        "predicted_SO": 0.9984
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.216,
          "after": 0.1738,
          "delta": -0.0422,
          "percent_delta": -0.1954,
          "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.12,
          "after": 4.5028,
          "delta": -0.6172,
          "percent_delta": -0.1205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.319,
          "after": 0.3335,
          "delta": 0.0145,
          "percent_delta": 0.0455,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.376,
          "after": 0.4008,
          "delta": 0.0248,
          "percent_delta": 0.066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.63,
          "after": 1.4881,
          "delta": -0.1419,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.25,
          "after": 0.2291,
          "delta": -0.0209,
          "percent_delta": -0.0836,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.421,
          "after": 0.4201,
          "delta": -0.0009,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.768,
          "after": 0.8207,
          "delta": 0.0527,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.92,
          "after": 0.8469,
          "delta": -0.0731,
          "percent_delta": -0.0795,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.561,
          "after": 0.5554,
          "delta": -0.0056,
          "percent_delta": -0.01,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.072,
          "after": 0.9984,
          "delta": -0.0736,
          "percent_delta": -0.0687,
          "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_R",
          "before": 0.768,
          "after": 0.8207,
          "delta": 0.0527,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.12,
          "after": 4.5028,
          "delta": -0.6172,
          "percent_delta": -0.1205,
          "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": 125
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1738,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.5028,
        "predicted_AVG": 0.336,
        "predicted_BB": 0.4054,
        "predicted_H": 1.5128,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.2337,
        "predicted_OBP": 0.3908,
        "predicted_R": 0.8455,
        "predicted_RBI": 0.8725,
        "predicted_SLG": 0.5304,
        "predicted_SO": 0.9869
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1738,
          "after": 0.1738,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5028,
          "after": 4.5028,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3335,
          "after": 0.336,
          "delta": 0.0025,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4008,
          "after": 0.4054,
          "delta": 0.0046,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4881,
          "after": 1.5128,
          "delta": 0.0247,
          "percent_delta": 0.0166,
          "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.2291,
          "after": 0.2337,
          "delta": 0.0046,
          "percent_delta": 0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4201,
          "after": 0.3908,
          "delta": -0.0293,
          "percent_delta": -0.0697,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8207,
          "after": 0.8455,
          "delta": 0.0248,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8469,
          "after": 0.8725,
          "delta": 0.0256,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5554,
          "after": 0.5304,
          "delta": -0.025,
          "percent_delta": -0.045,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9984,
          "after": 0.9869,
          "delta": -0.0115,
          "percent_delta": -0.0115,
          "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.4201,
          "after": 0.3908,
          "delta": -0.0293,
          "percent_delta": -0.0697,
          "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.12), rates preserved: AVG=0.282 HR/AB=0.046",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1738,
          "after": 0.0,
          "delta": -0.1738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5028,
          "after": 4.0,
          "delta": -0.5028,
          "percent_delta": -0.1117,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4054,
          "after": 0.0,
          "delta": -0.4054,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.5128,
          "after": 1.0,
          "delta": -0.5128,
          "percent_delta": -0.339,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.2337,
          "after": 0.0,
          "delta": -0.2337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8725,
          "after": 1.0,
          "delta": 0.1275,
          "percent_delta": 0.1461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9869,
          "after": 1.0,
          "delta": 0.0131,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.8725,
          "after": 1.0,
          "delta": 0.1275,
          "percent_delta": 0.1461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.5128,
          "after": 1.0,
          "delta": -0.5128,
          "percent_delta": -0.339,
          "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.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 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.8455,
          "after": 1.0,
          "delta": 0.1545,
          "percent_delta": 0.1827,
          "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.8455,
          "after": 1.0,
          "delta": 0.1545,
          "percent_delta": 0.1827,
          "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.1987,
        "predicted_3B": 0.0085,
        "predicted_BB": 0.5291,
        "predicted_H": 1.0617,
        "predicted_HR": 0.1679,
        "predicted_RBI": 0.5664,
        "predicted_SO": 1.0636
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1987,
          "delta": 0.1987,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0085,
          "delta": 0.0085,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5291,
          "delta": 0.5291,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0617,
          "delta": 0.0617,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1679,
          "delta": 0.1679,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5664,
          "delta": -0.4336,
          "percent_delta": -0.4336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0636,
          "delta": 0.0636,
          "percent_delta": 0.0636,
          "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.5291,
          "delta": 0.5291,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5664,
          "delta": -0.4336,
          "percent_delta": -0.4336,
          "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.1987,
          "after": 0.0,
          "delta": -0.1987,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0085,
          "after": 0.0,
          "delta": -0.0085,
          "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.5291,
          "after": 1.0,
          "delta": 0.4709,
          "percent_delta": 0.89,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0617,
          "after": 1.0,
          "delta": -0.0617,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1679,
          "after": 1.0,
          "delta": 0.8321,
          "percent_delta": 4.9559,
          "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.5664,
          "after": 1.0,
          "delta": 0.4336,
          "percent_delta": 0.7655,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0636,
          "after": 1.0,
          "delta": -0.0636,
          "percent_delta": -0.0598,
          "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.1679,
          "after": 1.0,
          "delta": 0.8321,
          "percent_delta": 4.9559,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1987,
          "after": 0.0,
          "delta": -0.1987,
          "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.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.348,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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.336,
          "after": 0.259,
          "delta": -0.077,
          "percent_delta": -0.2292,
          "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.3908,
          "after": 0.348,
          "delta": -0.0428,
          "percent_delta": -0.1095,
          "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.5304,
          "after": 0.434,
          "delta": -0.0964,
          "percent_delta": -0.1817,
          "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": 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": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 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": 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.336,
        "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.3908,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5304,
        "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.259,
          "after": 0.336,
          "delta": 0.077,
          "percent_delta": 0.2972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.348,
          "after": 0.3908,
          "delta": 0.0428,
          "percent_delta": 0.123,
          "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.434,
          "after": 0.5304,
          "delta": 0.0964,
          "percent_delta": 0.2222,
          "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.434,
          "after": 0.5304,
          "delta": 0.0964,
          "percent_delta": 0.2222,
          "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.216,
        "after": 0.0,
        "delta": -0.216,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.12,
        "after": 4.0,
        "delta": -1.12,
        "percent_delta": -0.2188,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.319,
        "after": 0.336,
        "delta": 0.017,
        "percent_delta": 0.0533,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.376,
        "after": 0.0,
        "delta": -0.376,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.63,
        "after": 1.0,
        "delta": -0.63,
        "percent_delta": -0.3865,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.421,
        "after": 0.3908,
        "delta": -0.0302,
        "percent_delta": -0.0717,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.768,
        "after": 1.0,
        "delta": 0.232,
        "percent_delta": 0.3021,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.92,
        "after": 1.0,
        "delta": 0.08,
        "percent_delta": 0.087,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.561,
        "after": 0.5304,
        "delta": -0.0306,
        "percent_delta": -0.0545,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.072,
        "after": 0.0,
        "delta": -1.072,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.768,
        "after": 1.0,
        "delta": 0.232,
        "percent_delta": 0.3021,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.12,
        "after": 4.0,
        "delta": -1.12,
        "percent_delta": -0.2188,
        "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.216-
predicted_3B0.000-
predicted_AB5.120-
predicted_AVG0.319-
predicted_BB0.376-
predicted_H1.630-
predicted_HR0.250-
predicted_OBP0.421-
predicted_R0.768-
predicted_RBI0.920-
predicted_SLG0.561-
predicted_SO1.072-
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.174-0.042
predicted_3B0.0000.000
predicted_AB4.503-0.617
predicted_AVG0.3340.015
predicted_BB0.4010.025
predicted_H1.488-0.142
predicted_HBP0.010-
predicted_HR0.229-0.021
predicted_OBP0.420-0.001
predicted_R0.8210.053
predicted_RBI0.847-0.073
predicted_SLG0.555-0.006
predicted_SO0.998-0.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.1740.000
predicted_3B0.0000.000
predicted_AB4.5030.000
predicted_AVG0.3360.003
predicted_BB0.4050.005
predicted_H1.5130.025
predicted_HBP0.0100.000
predicted_HR0.2340.005
predicted_OBP0.391-0.029
predicted_R0.8460.025
predicted_RBI0.8730.026
predicted_SLG0.530-0.025
predicted_SO0.987-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=5.12), rates preserved: AVG=0.282 HR/AB=0.046

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=5.0, weight=0.057, 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.1990.199
3B0.0090.009
BB0.5290.529
H1.0620.062
HR0.1680.168
RBI0.566-0.434
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.199
3B0.000-0.009
AB4.0000.000
BB1.0000.471
H1.000-0.062
HR1.0000.832
R1.0000.000
RBI1.0000.434
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.174
predicted_3B0.000-0.000
predicted_AB4.000-0.503
predicted_AVG0.259-0.077
predicted_BB0.000-0.405
predicted_H1.000-0.513
predicted_HR0.000-0.234
predicted_OBP0.348-0.043
predicted_R1.0000.154
predicted_RBI1.0000.127
predicted_SLG0.434-0.096
predicted_SO1.0000.013
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
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.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: 125
Reference playing time: 5.120
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.0008.0000.0000.0001.0005.0006.0002.0002.0000.57140.62500.78570.57140.07140.35710.14290.1429
last_100.2010-33.00011.0000.0000.0002.0008.0008.0006.00010.0000.33330.43590.51520.33330.06060.24240.18180.3030
season0.60125-516.000152.00027.0000.00025.00075.00096.00047.000134.0000.29460.35450.49220.29460.04850.14540.09110.2597
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.0010
predicted_AB3.7020
predicted_AVG0.3522
predicted_BB0.4330
predicted_H1.3040
predicted_HBP0.0100
predicted_HR0.2020
predicted_OBP0.4189
predicted_R0.8890
predicted_RBI0.7520
predicted_SLG0.5481
predicted_SO0.9030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21600.11900.1738model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB5.12003.70204.5028model_form_blend
predicted_AVG0.31900.35220.3335model_form_blend
predicted_BB0.37600.43300.4008model_form_blend
predicted_H1.63001.30401.4881model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.25000.20200.2291model_form_blend
predicted_OBP0.42100.41890.4201model_form_blend
predicted_R0.76800.88900.8207model_form_blend
predicted_RBI0.92000.75200.8469model_form_blend
predicted_SLG0.56100.54810.5554model_form_blend
predicted_SO1.07200.90300.9984model_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 date541
Season rows before report date541
Report year2026
Profile rows used125
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.75
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
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
allPositionsPlayedLF
gameID20260927_STL@MIL
game_typefull
mlbID694192
playerID694192
playerNameJackson Chourio
posLF
startedTrue
startingPositionLF
teamMIL
teamID16
game_date2026-09-27
sl_k_percent23.4
sl_bb_percent8.2
sl_woba0.361
sl_xwoba0.344
sl_xba0.265
sl_xslg0.475
sl_sweet_spot_percent33.3
sl_barrel_batted_rate12.3
sl_hard_hit_percent47.0
sl_exit_velocity_avg91.6
sl_launch_angle_avg11.8
sl_whiff_percent25.1
sl_swing_percent47.8
William Contreras (661388) · BATTER · C · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 607
All-history rows before 20261003: 607
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2745
Diff (system - data): -0.0055
System opponent_avg: 0.2080

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1791.0000.000Hitting_2B0.1860.0000.8141.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.6904.0004.000Hitting_AB3.9853.0000.0151.000
predicted_AVG0.2400.2500.250Hitting_AVG0.2740.333-0.024-0.083
predicted_BB0.4140.0001.000Hitting_BB0.4381.000-0.438-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H1.1201.0001.000Hitting_H1.0941.000-0.0940.000
predicted_HR0.1200.0000.000Hitting_HR0.1290.000-0.1290.000
predicted_OBP0.3230.2500.400Hitting_OBP0.3450.500-0.095-0.250
predicted_R0.5591.0000.000Hitting_R0.6100.0000.3901.000
predicted_RBI0.9900.0001.000Hitting_RBI0.6790.000-0.6790.000
predicted_SLG0.3830.5000.250Hitting_SLG0.4220.3330.0780.167
predicted_SO0.6411.0001.000Hitting_SO0.6431.0000.3570.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.1790 -> 1.0000 (boost 0.8210, better)
Biggest Deboostpredicted_RBI: 0.9900 -> 0.0000 (deboost -0.9900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_AVG: 0.2400 -> 0.2468 (boost 0.0068, better)predicted_AB: 4.6900 -> 4.2851 (deboost -0.4049, 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.3780 -> 0.3682 (deboost -0.0098, 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.6578 -> 1.0000 (boost 0.3422, worse)predicted_BB: 0.4139 -> 0.0000 (deboost -0.4139, worse)AB rounded to 4 (raw=4.69), rates preserved: AVG=0.217 HR/AB=0.024
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4999 -> 0.0000 (deboost -0.4999, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine62433predicted_2B: 0.0000 -> 0.1738 (boost 0.1738, better)predicted_BB: 1.0000 -> 0.5604 (deboost -0.4396, 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_allocation64233predicted_BB: 0.5604 -> 1.0000 (boost 0.4396, better)predicted_2B: 0.1738 -> 0.0000 (deboost -0.1738, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context21111predicted_OBP: 0.3155 -> 0.3380 (boost 0.0225, better)predicted_AVG: 0.2493 -> 0.2370 (deboost -0.0123, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference42222predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.2370 -> 0.2493 (boost 0.0123, better)predicted_OBP: 0.3380 -> 0.3155 (deboost -0.0225, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "661388",
  "player_name": "William Contreras",
  "position": "C",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.007,
        "predicted_AB": 4.69,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.414,
        "predicted_H": 1.12,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.323,
        "predicted_R": 0.559,
        "predicted_RBI": 0.99,
        "predicted_SLG": 0.383,
        "predicted_SO": 0.641
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1646,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.2851,
        "predicted_AVG": 0.2468,
        "predicted_BB": 0.4092,
        "predicted_H": 1.051,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1086,
        "predicted_OBP": 0.323,
        "predicted_R": 0.4852,
        "predicted_RBI": 0.9,
        "predicted_SLG": 0.378,
        "predicted_SO": 0.6655
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1646,
          "delta": -0.0144,
          "percent_delta": -0.0804,
          "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.69,
          "after": 4.2851,
          "delta": -0.4049,
          "percent_delta": -0.0863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2468,
          "delta": 0.0068,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.4092,
          "delta": -0.0048,
          "percent_delta": -0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.051,
          "delta": -0.069,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1086,
          "delta": -0.0114,
          "percent_delta": -0.095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.323,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.559,
          "after": 0.4852,
          "delta": -0.0738,
          "percent_delta": -0.132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.99,
          "after": 0.9,
          "delta": -0.09,
          "percent_delta": -0.0909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.378,
          "delta": -0.005,
          "percent_delta": -0.0131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.641,
          "after": 0.6655,
          "delta": 0.0245,
          "percent_delta": 0.0382,
          "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.24,
          "after": 0.2468,
          "delta": 0.0068,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.69,
          "after": 4.2851,
          "delta": -0.4049,
          "percent_delta": -0.0863,
          "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": 145
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1646,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.2851,
        "predicted_AVG": 0.2493,
        "predicted_BB": 0.4139,
        "predicted_H": 1.0684,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1108,
        "predicted_OBP": 0.3155,
        "predicted_R": 0.4999,
        "predicted_RBI": 0.9272,
        "predicted_SLG": 0.3682,
        "predicted_SO": 0.6578
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1646,
          "after": 0.1646,
          "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.2851,
          "after": 4.2851,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2468,
          "after": 0.2493,
          "delta": 0.0025,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4092,
          "after": 0.4139,
          "delta": 0.0047,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.051,
          "after": 1.0684,
          "delta": 0.0174,
          "percent_delta": 0.0166,
          "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.1086,
          "after": 0.1108,
          "delta": 0.0022,
          "percent_delta": 0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.3155,
          "delta": -0.0075,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4852,
          "after": 0.4999,
          "delta": 0.0147,
          "percent_delta": 0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9,
          "after": 0.9272,
          "delta": 0.0272,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.378,
          "after": 0.3682,
          "delta": -0.0098,
          "percent_delta": -0.0259,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6655,
          "after": 0.6578,
          "delta": -0.0077,
          "percent_delta": -0.0116,
          "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.378,
          "after": 0.3682,
          "delta": -0.0098,
          "percent_delta": -0.0259,
          "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.69), rates preserved: AVG=0.217 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1646,
          "after": 0.0,
          "delta": -0.1646,
          "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.2851,
          "after": 4.0,
          "delta": -0.2851,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4139,
          "after": 0.0,
          "delta": -0.4139,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0684,
          "after": 1.0,
          "delta": -0.0684,
          "percent_delta": -0.064,
          "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.1108,
          "after": 0.0,
          "delta": -0.1108,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9272,
          "after": 1.0,
          "delta": 0.0728,
          "percent_delta": 0.0785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6578,
          "after": 1.0,
          "delta": 0.3422,
          "percent_delta": 0.5202,
          "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.6578,
          "after": 1.0,
          "delta": 0.3422,
          "percent_delta": 0.5202,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4139,
          "after": 0.0,
          "delta": -0.4139,
          "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": 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.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": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4999,
          "after": 0.0,
          "delta": -0.4999,
          "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.4999,
          "after": 0.0,
          "delta": -0.4999,
          "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.1738,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.5604,
        "predicted_H": 0.9222,
        "predicted_HR": 0.113,
        "predicted_RBI": 0.5699,
        "predicted_SO": 0.689
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1738,
          "delta": 0.1738,
          "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": 1.0,
          "after": 0.5604,
          "delta": -0.4396,
          "percent_delta": -0.4396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9222,
          "delta": -0.0778,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.113,
          "delta": 0.113,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5699,
          "delta": -0.4301,
          "percent_delta": -0.4301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.689,
          "delta": -0.311,
          "percent_delta": -0.311,
          "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.1738,
          "delta": 0.1738,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5604,
          "delta": -0.4396,
          "percent_delta": -0.4396,
          "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": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1738,
          "after": 0.0,
          "delta": -0.1738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0097,
          "after": 0.0,
          "delta": -0.0097,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5604,
          "after": 1.0,
          "delta": 0.4396,
          "percent_delta": 0.7844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9222,
          "after": 1.0,
          "delta": 0.0778,
          "percent_delta": 0.0844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.113,
          "after": 0.0,
          "delta": -0.113,
          "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.5699,
          "after": 1.0,
          "delta": 0.4301,
          "percent_delta": 0.7547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.689,
          "after": 1.0,
          "delta": 0.311,
          "percent_delta": 0.4514,
          "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.5604,
          "after": 1.0,
          "delta": 0.4396,
          "percent_delta": 0.7844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1738,
          "after": 0.0,
          "delta": -0.1738,
          "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.237,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.338,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.373,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2493,
          "after": 0.237,
          "delta": -0.0123,
          "percent_delta": -0.0493,
          "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.3155,
          "after": 0.338,
          "delta": 0.0225,
          "percent_delta": 0.0713,
          "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.3682,
          "after": 0.373,
          "delta": 0.0048,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3155,
          "after": 0.338,
          "delta": 0.0225,
          "percent_delta": 0.0713,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2493,
          "after": 0.237,
          "delta": -0.0123,
          "percent_delta": -0.0493,
          "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": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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.2493,
        "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.3155,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3682,
        "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.2493,
          "delta": 0.0123,
          "percent_delta": 0.0521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3155,
          "delta": -0.0225,
          "percent_delta": -0.0667,
          "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.373,
          "after": 0.3682,
          "delta": -0.0048,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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.2493,
          "delta": 0.0123,
          "percent_delta": 0.0521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.338,
          "after": 0.3155,
          "delta": -0.0225,
          "percent_delta": -0.0667,
          "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": 1.0,
        "delta": 0.821,
        "percent_delta": 4.5866,
        "direction": "boost",
        "projection_effect": "better",
        "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.69,
        "after": 4.0,
        "delta": -0.69,
        "percent_delta": -0.1471,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2493,
        "delta": 0.0093,
        "percent_delta": 0.0388,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.414,
        "after": 0.0,
        "delta": -0.414,
        "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.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.3155,
        "delta": -0.0075,
        "percent_delta": -0.0232,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.559,
        "after": 1.0,
        "delta": 0.441,
        "percent_delta": 0.7889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.3682,
        "delta": -0.0148,
        "percent_delta": -0.0386,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.641,
        "after": 1.0,
        "delta": 0.359,
        "percent_delta": 0.5601,
        "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.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.99,
        "after": 0.0,
        "delta": -0.99,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

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.007-
predicted_AB4.690-
predicted_AVG0.240-
predicted_BB0.414-
predicted_H1.120-
predicted_HR0.120-
predicted_OBP0.323-
predicted_R0.559-
predicted_RBI0.990-
predicted_SLG0.383-
predicted_SO0.641-
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.165-0.014
predicted_3B0.006-0.001
predicted_AB4.285-0.405
predicted_AVG0.2470.007
predicted_BB0.409-0.005
predicted_H1.051-0.069
predicted_HBP0.017-
predicted_HR0.109-0.011
predicted_OBP0.3230.000
predicted_R0.485-0.074
predicted_RBI0.900-0.090
predicted_SLG0.378-0.005
predicted_SO0.6650.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.1650.000
predicted_3B0.0060.000
predicted_AB4.2850.000
predicted_AVG0.2490.003
predicted_BB0.4140.005
predicted_H1.0680.017
predicted_HBP0.0170.000
predicted_HR0.1110.002
predicted_OBP0.316-0.008
predicted_R0.5000.015
predicted_RBI0.9270.027
predicted_SLG0.368-0.010
predicted_SO0.658-0.008
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.69), rates preserved: AVG=0.217 HR/AB=0.024

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
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
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.1740.174
3B0.0100.010
BB0.560-0.440
H0.922-0.078
HR0.1130.113
RBI0.570-0.430
SO0.689-0.311
9. 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.010
AB4.0000.000
BB1.0000.440
H1.0000.078
HR0.000-0.113
R0.0000.000
RBI1.0000.430
SO1.0000.311
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.165
predicted_3B0.000-0.006
predicted_AB4.000-0.285
predicted_AVG0.237-0.012
predicted_BB1.0000.586
predicted_H1.000-0.068
predicted_HR0.000-0.111
predicted_OBP0.3380.023
predicted_R0.000-0.500
predicted_RBI1.0000.073
predicted_SLG0.3730.005
predicted_SO1.0000.342
11. 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.000-1.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: 145
Reference playing time: 4.690
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.0006.0000.0002.0004.0000.23530.30000.23530.23530.00000.35290.11770.2353
last_100.2010-38.0009.0002.0000.0001.0008.0003.0004.0007.0000.23680.30230.36840.23680.02630.21050.10530.1842
season0.60145-561.000151.00026.0001.00018.00093.00081.00060.00093.0000.26920.33910.41530.26920.03210.16580.10700.1658
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1460
predicted_3B0.0050
predicted_AB3.7630
predicted_AVG0.2556
predicted_BB0.4030
predicted_H0.9620
predicted_HBP0.0170
predicted_HR0.0940
predicted_OBP0.3231
predicted_R0.3900
predicted_RBI0.7840
predicted_SLG0.3716
predicted_SO0.6970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.14600.1646model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.69003.76304.2851model_form_blend
predicted_AVG0.24000.25560.2468model_form_blend
predicted_BB0.41400.40300.4092model_form_blend
predicted_H1.12000.96201.0510model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.12000.09400.1086model_form_blend
predicted_OBP0.32300.32310.3230model_form_blend
predicted_R0.55900.39000.4852model_form_blend
predicted_RBI0.99000.78400.9000model_form_blend
predicted_SLG0.38300.37160.3780model_form_blend
predicted_SO0.64100.69700.6655model_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 date607
Season rows before report date607
Report year2026
Profile rows used145
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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
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
allPositionsPlayedC
gameID20260926_STL@MIL
game_typefull
mlbID661388
playerID661388
playerNameWilliam Contreras
posC
startedTrue
startingPositionC
teamMIL
teamID16
game_date2026-09-26
sl_k_percent14.7
sl_bb_percent9.5
sl_woba0.33
sl_xwoba0.334
sl_xba0.261
sl_xslg0.441
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.5
sl_hard_hit_percent44.1
sl_exit_velocity_avg90.3
sl_launch_angle_avg13.2
sl_whiff_percent20.7
sl_swing_percent47.2
Luis Lara (800325) · BATTER · RF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 197
All-history rows before 20261003: 197
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2571
Diff (system - data): -0.0121
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.1270.0000.000Hitting_2B0.1170.000-0.1170.000
predicted_3B0.0360.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB3.4184.0004.000Hitting_AB3.5744.0000.4260.000
predicted_AVG0.2450.0000.250Hitting_AVG0.2570.250-0.257-0.250
predicted_BB0.2910.0000.000Hitting_BB0.3810.000-0.3810.000
predicted_CS-0.0000.000BaseRunning_CS0.0300.000-0.0300.000
predicted_H0.8360.0001.000Hitting_H0.9191.000-0.919-1.000
predicted_HR0.0180.0000.000Hitting_HR0.0300.000-0.0300.000
predicted_OBP0.3040.0000.250Hitting_OBP0.3310.250-0.331-0.250
predicted_R0.4360.0000.000Hitting_R0.4970.000-0.4970.000
predicted_RBI0.4730.0000.000Hitting_RBI0.5380.000-0.5380.000
predicted_SLG0.3190.0000.250Hitting_SLG0.3350.250-0.335-0.250
predicted_SO0.8360.0001.000Hitting_SO0.8681.000-0.868-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 3.4180 -> 4.0000 (boost 0.5820, better)
Biggest Deboostpredicted_H: 0.8360 -> 0.0000 (deboost -0.8360, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.4180 -> 3.4787 (boost 0.0607, better)predicted_SLG: 0.3190 -> 0.3031 (deboost -0.0159, 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.4787 -> 4.0000 (boost 0.5213, better)predicted_RBI: 0.4775 -> 0.0000 (deboost -0.4775, worse)AB rounded to 4 (raw=3.48), rates preserved: AVG=0.225 HR/AB=0.006
6consistency_constraints10101-predicted_R: 0.4126 -> 0.0000 (deboost -0.4126, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4835 (boost 0.4835, better)predicted_H: 1.0000 -> 0.8459 (deboost -0.1541, 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.8459 -> 1.0000 (boost 0.1541, better)predicted_RBI: 0.4835 -> 0.0000 (deboost -0.4835, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context22020predicted_SLG: 0.3068 -> 0.3500 (boost 0.0432, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference20211-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final20202-predicted_SLG: 0.3500 -> 0.3068 (deboost -0.0432, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "800325",
  "player_name": "Luis Lara",
  "position": "RF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.127,
        "predicted_3B": 0.036,
        "predicted_AB": 3.418,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.291,
        "predicted_H": 0.836,
        "predicted_HR": 0.018,
        "predicted_OBP": 0.304,
        "predicted_R": 0.436,
        "predicted_RBI": 0.473,
        "predicted_SLG": 0.319,
        "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.1192,
        "predicted_3B": 0.0302,
        "predicted_AB": 3.4787,
        "predicted_AVG": 0.2332,
        "predicted_BB": 0.2774,
        "predicted_H": 0.8092,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0213,
        "predicted_OBP": 0.2895,
        "predicted_R": 0.4005,
        "predicted_RBI": 0.4635,
        "predicted_SLG": 0.3031,
        "predicted_SO": 0.8459
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.127,
          "after": 0.1192,
          "delta": -0.0078,
          "percent_delta": -0.0614,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.036,
          "after": 0.0302,
          "delta": -0.0058,
          "percent_delta": -0.1611,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.418,
          "after": 3.4787,
          "delta": 0.0607,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2332,
          "delta": -0.0118,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.291,
          "after": 0.2774,
          "delta": -0.0136,
          "percent_delta": -0.0467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.836,
          "after": 0.8092,
          "delta": -0.0268,
          "percent_delta": -0.0321,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.018,
          "after": 0.0213,
          "delta": 0.0033,
          "percent_delta": 0.1833,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.2895,
          "delta": -0.0145,
          "percent_delta": -0.0477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.436,
          "after": 0.4005,
          "delta": -0.0355,
          "percent_delta": -0.0814,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.473,
          "after": 0.4635,
          "delta": -0.0095,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3031,
          "delta": -0.0159,
          "percent_delta": -0.0498,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.836,
          "after": 0.8459,
          "delta": 0.0099,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.418,
          "after": 3.4787,
          "delta": 0.0607,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3031,
          "delta": -0.0159,
          "percent_delta": -0.0498,
          "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": 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.1192,
        "predicted_3B": 0.0302,
        "predicted_AB": 3.4787,
        "predicted_AVG": 0.2365,
        "predicted_BB": 0.2806,
        "predicted_H": 0.8226,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0217,
        "predicted_OBP": 0.2935,
        "predicted_R": 0.4126,
        "predicted_RBI": 0.4775,
        "predicted_SLG": 0.3068,
        "predicted_SO": 0.8362
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1192,
          "after": 0.1192,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0302,
          "after": 0.0302,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4787,
          "after": 3.4787,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2332,
          "after": 0.2365,
          "delta": 0.0033,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2774,
          "after": 0.2806,
          "delta": 0.0032,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8092,
          "after": 0.8226,
          "delta": 0.0134,
          "percent_delta": 0.0166,
          "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.0213,
          "after": 0.0217,
          "delta": 0.0004,
          "percent_delta": 0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2895,
          "after": 0.2935,
          "delta": 0.004,
          "percent_delta": 0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4005,
          "after": 0.4126,
          "delta": 0.0121,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4635,
          "after": 0.4775,
          "delta": 0.014,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3031,
          "after": 0.3068,
          "delta": 0.0037,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8459,
          "after": 0.8362,
          "delta": -0.0097,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "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.48), rates preserved: AVG=0.225 HR/AB=0.006",
      "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.1192,
          "after": 0.0,
          "delta": -0.1192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0302,
          "after": 0.0,
          "delta": -0.0302,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4787,
          "after": 4.0,
          "delta": 0.5213,
          "percent_delta": 0.1499,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2806,
          "after": 0.0,
          "delta": -0.2806,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8226,
          "after": 1.0,
          "delta": 0.1774,
          "percent_delta": 0.2157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0217,
          "after": 0.0,
          "delta": -0.0217,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4775,
          "after": 0.0,
          "delta": -0.4775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8362,
          "after": 1.0,
          "delta": 0.1638,
          "percent_delta": 0.1959,
          "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.4787,
          "after": 4.0,
          "delta": 0.5213,
          "percent_delta": 0.1499,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4775,
          "after": 0.0,
          "delta": -0.4775,
          "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.4126,
          "after": 0.0,
          "delta": -0.4126,
          "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.4126,
          "after": 0.0,
          "delta": -0.4126,
          "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.1656,
        "predicted_3B": 0.0163,
        "predicted_BB": 0.4495,
        "predicted_H": 0.8459,
        "predicted_HR": 0.0728,
        "predicted_RBI": 0.4835,
        "predicted_SO": 0.9132
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1656,
          "delta": 0.1656,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0163,
          "delta": 0.0163,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4495,
          "delta": 0.4495,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8459,
          "delta": -0.1541,
          "percent_delta": -0.1541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0728,
          "delta": 0.0728,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4835,
          "delta": 0.4835,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9132,
          "delta": -0.0868,
          "percent_delta": -0.0868,
          "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.4835,
          "delta": 0.4835,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8459,
          "delta": -0.1541,
          "percent_delta": -0.1541,
          "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.1656,
          "after": 0.0,
          "delta": -0.1656,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0163,
          "after": 0.0,
          "delta": -0.0163,
          "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.4495,
          "after": 0.0,
          "delta": -0.4495,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8459,
          "after": 1.0,
          "delta": 0.1541,
          "percent_delta": 0.1822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0728,
          "after": 0.0,
          "delta": -0.0728,
          "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.4835,
          "after": 0.0,
          "delta": -0.4835,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9132,
          "after": 1.0,
          "delta": 0.0868,
          "percent_delta": 0.0951,
          "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.8459,
          "after": 1.0,
          "delta": 0.1541,
          "percent_delta": 0.1822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4835,
          "after": 0.0,
          "delta": -0.4835,
          "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.325,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2365,
          "after": 0.235,
          "delta": -0.0015,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2935,
          "after": 0.325,
          "delta": 0.0315,
          "percent_delta": 0.1073,
          "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.3068,
          "after": 0.35,
          "delta": 0.0432,
          "percent_delta": 0.1408,
          "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.3068,
          "after": 0.35,
          "delta": 0.0432,
          "percent_delta": 0.1408,
          "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": 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": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2365,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2935,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3068,
        "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.235,
          "after": 0.2365,
          "delta": 0.0015,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.325,
          "after": 0.2935,
          "delta": -0.0315,
          "percent_delta": -0.097,
          "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.3068,
          "delta": -0.0432,
          "percent_delta": -0.1233,
          "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": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3068,
          "delta": -0.0432,
          "percent_delta": -0.1233,
          "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.036,
        "after": 0.0,
        "delta": -0.036,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.418,
        "after": 4.0,
        "delta": 0.582,
        "percent_delta": 0.1703,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.2365,
        "delta": -0.0085,
        "percent_delta": -0.0347,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.836,
        "after": 0.0,
        "delta": -0.836,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.018,
        "after": 0.0,
        "delta": -0.018,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.2935,
        "delta": -0.0105,
        "percent_delta": -0.0345,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.436,
        "after": 0.0,
        "delta": -0.436,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.473,
        "after": 0.0,
        "delta": -0.473,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.319,
        "after": 0.3068,
        "delta": -0.0122,
        "percent_delta": -0.0382,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.836,
        "after": 0.0,
        "delta": -0.836,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.418,
        "after": 4.0,
        "delta": 0.582,
        "percent_delta": 0.1703,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.836,
        "after": 0.0,
        "delta": -0.836,
        "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.036-
predicted_AB3.418-
predicted_AVG0.245-
predicted_BB0.291-
predicted_H0.836-
predicted_HR0.018-
predicted_OBP0.304-
predicted_R0.436-
predicted_RBI0.473-
predicted_SLG0.319-
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.119-0.008
predicted_3B0.030-0.006
predicted_AB3.4790.061
predicted_AVG0.233-0.012
predicted_BB0.277-0.014
predicted_H0.809-0.027
predicted_HBP0.014-
predicted_HR0.0210.003
predicted_OBP0.289-0.015
predicted_R0.401-0.035
predicted_RBI0.464-0.009
predicted_SLG0.303-0.016
predicted_SO0.8460.010
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.0300.000
predicted_AB3.4790.000
predicted_AVG0.2360.003
predicted_BB0.2810.003
predicted_H0.8230.013
predicted_HBP0.0140.000
predicted_HR0.0220.000
predicted_OBP0.2930.004
predicted_R0.4130.012
predicted_RBI0.4770.014
predicted_SLG0.3070.004
predicted_SO0.836-0.010
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.225 HR/AB=0.006

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.1660.166
3B0.0160.016
BB0.4500.450
H0.846-0.154
HR0.0730.073
RBI0.4830.483
SO0.913-0.087
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.016
AB4.0000.000
BB0.000-0.450
H1.0000.154
HR0.000-0.073
R0.0000.000
RBI0.000-0.483
SO1.0000.087
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.030
predicted_AB4.0000.521
predicted_AVG0.235-0.002
predicted_BB0.000-0.281
predicted_H1.0000.177
predicted_HR0.000-0.022
predicted_OBP0.3250.032
predicted_R0.000-0.413
predicted_RBI0.000-0.477
predicted_SLG0.3500.043
predicted_SO1.0000.164
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
SO0.000-1.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.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.0003.0000.0000.0000.0002.0000.0001.0005.0000.15790.20000.15790.15790.00000.10530.05260.2632
last_100.2010-36.0006.0001.0000.0000.0004.0003.0002.0008.0000.16670.20510.19440.16670.00000.11110.05560.2222
season0.6055-188.00046.0007.0002.0001.00026.00024.00016.00046.0000.24470.30430.31910.24470.00530.13830.08510.2447
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1080
predicted_3B0.0220
predicted_AB3.5650
predicted_AVG0.2164
predicted_BB0.2580
predicted_H0.7710
predicted_HBP0.0140
predicted_HR0.0260
predicted_OBP0.2689
predicted_R0.3500
predicted_RBI0.4500
predicted_SLG0.2804
predicted_SO0.8600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12700.10800.1192model_form_blend
predicted_3B0.03600.02200.0302model_form_blend
predicted_AB3.41803.56503.4787model_form_blend
predicted_AVG0.24500.21640.2332model_form_blend
predicted_BB0.29100.25800.2774model_form_blend
predicted_H0.83600.77100.8092model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.01800.02600.0213model_form_blend
predicted_OBP0.30400.26890.2895model_form_blend
predicted_R0.43600.35000.4005model_form_blend
predicted_RBI0.47300.45000.4635model_form_blend
predicted_SLG0.31900.28040.3031model_form_blend
predicted_SO0.83600.86000.8459model_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 date197
Season rows before report date197
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
PA4
AB4
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_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
allPositionsPlayedCF-RF
gameID20260926_STL@MIL
game_typefull
mlbID800325
playerID800325
playerNameLuis Lara
posCF
startedTrue
startingPositionCF
teamMIL
teamID16
game_date2026-09-26
sl_k_percent21.7
sl_bb_percent8.5
sl_woba0.286
sl_xwoba0.293
sl_xba0.256
sl_xslg0.331
sl_sweet_spot_percent34.7
sl_barrel_batted_rate3.4
sl_hard_hit_percent41.5
sl_exit_velocity_avg88.0
sl_launch_angle_avg5.3
sl_whiff_percent17.0
sl_swing_percent42.1
Brice Turang (668930) · BATTER · 2B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 651
All-history rows before 20261003: 651
System season_avg: 0.2750
Data season_avg (2026 season-to-date): 0.2776
Diff (system - data): -0.0026
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.2520.0001.000Hitting_2B0.2610.000-0.2610.000
predicted_3B0.0200.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.6603.0004.000Hitting_AB3.9624.000-0.962-1.000
predicted_AVG0.2720.3330.250Hitting_AVG0.2780.2500.0560.083
predicted_BB0.5851.0001.000Hitting_BB0.5880.0000.4121.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H1.2601.0001.000Hitting_H1.1001.000-0.1000.000
predicted_HR0.2201.0000.000Hitting_HR0.1430.0000.8571.000
predicted_OBP0.3650.5000.400Hitting_OBP0.3710.2500.1290.250
predicted_R0.6941.0001.000Hitting_R0.7160.0000.2841.000
predicted_RBI0.9802.0001.000Hitting_RBI0.7371.0001.2631.000
predicted_SB-0.0000.000BaseRunning_SB0.1290.000-0.1290.000
predicted_SLG0.5451.3330.500Hitting_SLG0.4660.2500.8681.083
predicted_SO1.1221.0001.000Hitting_SO1.0810.000-0.0811.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_RBI: 0.9800 -> 2.0000 (boost 1.0200, better)
Biggest Deboostpredicted_AB: 4.6600 -> 3.0000 (deboost -1.6600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AVG: 0.2720 -> 0.2845 (boost 0.0125, better)predicted_AB: 4.6600 -> 4.3723 (deboost -0.2877, 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.5436 -> 0.5091 (deboost -0.0345, 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.5315 -> 1.0000 (boost 0.4685, better)predicted_AB: 4.3723 -> 4.0000 (deboost -0.3723, worse)AB rounded to 4 (raw=4.66), rates preserved: AVG=0.257 HR/AB=0.046
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints11010predicted_R: 0.7290 -> 1.0000 (boost 0.2710, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.6160 (boost 0.6160, better)predicted_RBI: 1.0000 -> 0.6447 (deboost -0.3553, 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_allocation64251predicted_2B: 0.1740 -> 1.0000 (boost 0.8260, better)predicted_SO: 1.1406 -> 1.0000 (deboost -0.1406, better)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_reference43131predicted_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_final33030predicted_SLG: 0.3910 -> 0.5091 (boost 0.1181, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668930",
  "player_name": "Brice Turang",
  "position": "2B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.252,
        "predicted_3B": 0.02,
        "predicted_AB": 4.66,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.585,
        "predicted_H": 1.26,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.365,
        "predicted_R": 0.694,
        "predicted_RBI": 0.98,
        "predicted_SLG": 0.545,
        "predicted_SO": 1.122
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.29,
        "predicted_3B": 0.0169,
        "predicted_AB": 4.3723,
        "predicted_AVG": 0.2845,
        "predicted_BB": 0.5255,
        "predicted_H": 1.2351,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.2113,
        "predicted_OBP": 0.368,
        "predicted_R": 0.7076,
        "predicted_RBI": 0.914,
        "predicted_SLG": 0.5436,
        "predicted_SO": 1.1456
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.252,
          "after": 0.29,
          "delta": 0.038,
          "percent_delta": 0.1508,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0169,
          "delta": -0.0031,
          "percent_delta": -0.155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3723,
          "delta": -0.2877,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2845,
          "delta": 0.0125,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.585,
          "after": 0.5255,
          "delta": -0.0595,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.26,
          "after": 1.2351,
          "delta": -0.0249,
          "percent_delta": -0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.2113,
          "delta": -0.0087,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.368,
          "delta": 0.003,
          "percent_delta": 0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.694,
          "after": 0.7076,
          "delta": 0.0136,
          "percent_delta": 0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.98,
          "after": 0.914,
          "delta": -0.066,
          "percent_delta": -0.0673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.545,
          "after": 0.5436,
          "delta": -0.0014,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.122,
          "after": 1.1456,
          "delta": 0.0236,
          "percent_delta": 0.021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2845,
          "delta": 0.0125,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3723,
          "delta": -0.2877,
          "percent_delta": -0.0617,
          "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.29,
        "predicted_3B": 0.0169,
        "predicted_AB": 4.3723,
        "predicted_AVG": 0.2872,
        "predicted_BB": 0.5315,
        "predicted_H": 1.2556,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.2155,
        "predicted_OBP": 0.3644,
        "predicted_R": 0.729,
        "predicted_RBI": 0.9416,
        "predicted_SLG": 0.5091,
        "predicted_SO": 1.1324
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.29,
          "after": 0.29,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0169,
          "after": 0.0169,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3723,
          "after": 4.3723,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2845,
          "after": 0.2872,
          "delta": 0.0027,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5255,
          "after": 0.5315,
          "delta": 0.006,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2351,
          "after": 1.2556,
          "delta": 0.0205,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.006,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2113,
          "after": 0.2155,
          "delta": 0.0042,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.368,
          "after": 0.3644,
          "delta": -0.0036,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7076,
          "after": 0.729,
          "delta": 0.0214,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.914,
          "after": 0.9416,
          "delta": 0.0276,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5436,
          "after": 0.5091,
          "delta": -0.0345,
          "percent_delta": -0.0635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1456,
          "after": 1.1324,
          "delta": -0.0132,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.5436,
          "after": 0.5091,
          "delta": -0.0345,
          "percent_delta": -0.0635,
          "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.66), rates preserved: AVG=0.257 HR/AB=0.046",
      "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.29,
          "after": 0.0,
          "delta": -0.29,
          "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.3723,
          "after": 4.0,
          "delta": -0.3723,
          "percent_delta": -0.0851,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2556,
          "after": 1.0,
          "delta": -0.2556,
          "percent_delta": -0.2036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.006,
          "after": 0.0,
          "delta": -0.006,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2155,
          "after": 0.0,
          "delta": -0.2155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9416,
          "after": 1.0,
          "delta": 0.0584,
          "percent_delta": 0.062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1324,
          "after": 1.0,
          "delta": -0.1324,
          "percent_delta": -0.1169,
          "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.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.3723,
          "after": 4.0,
          "delta": -0.3723,
          "percent_delta": -0.0851,
          "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": 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.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": 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.729,
          "after": 1.0,
          "delta": 0.271,
          "percent_delta": 0.3717,
          "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.729,
          "after": 1.0,
          "delta": 0.271,
          "percent_delta": 0.3717,
          "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.174,
        "predicted_3B": 0.0155,
        "predicted_BB": 0.616,
        "predicted_H": 0.9163,
        "predicted_HR": 0.1167,
        "predicted_RBI": 0.6447,
        "predicted_SO": 1.1406
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.174,
          "delta": 0.174,
          "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.616,
          "delta": 0.616,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9163,
          "delta": -0.0837,
          "percent_delta": -0.0837,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1167,
          "delta": 0.1167,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6447,
          "delta": -0.3553,
          "percent_delta": -0.3553,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1406,
          "delta": 0.1406,
          "percent_delta": 0.1406,
          "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.616,
          "delta": 0.616,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6447,
          "delta": -0.3553,
          "percent_delta": -0.3553,
          "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.174,
          "after": 1.0,
          "delta": 0.826,
          "percent_delta": 4.7471,
          "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.616,
          "after": 1.0,
          "delta": 0.384,
          "percent_delta": 0.6234,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9163,
          "after": 1.0,
          "delta": 0.0837,
          "percent_delta": 0.0913,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1167,
          "after": 0.0,
          "delta": -0.1167,
          "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.6447,
          "after": 1.0,
          "delta": 0.3553,
          "percent_delta": 0.5511,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1406,
          "after": 1.0,
          "delta": -0.1406,
          "percent_delta": -0.1233,
          "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_2B",
          "before": 0.174,
          "after": 1.0,
          "delta": 0.826,
          "percent_delta": 4.7471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.1406,
          "after": 1.0,
          "delta": -0.1406,
          "percent_delta": -0.1233,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.355,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.391,
        "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.2872,
          "after": 0.244,
          "delta": -0.0432,
          "percent_delta": -0.1504,
          "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.3644,
          "after": 0.355,
          "delta": -0.0094,
          "percent_delta": -0.0258,
          "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.5091,
          "after": 0.391,
          "delta": -0.1181,
          "percent_delta": -0.232,
          "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": 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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2872,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3644,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5091,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.244,
          "after": 0.2872,
          "delta": 0.0432,
          "percent_delta": 0.1769,
          "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.355,
          "after": 0.3644,
          "delta": 0.0094,
          "percent_delta": 0.0266,
          "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.391,
          "after": 0.5091,
          "delta": 0.1181,
          "percent_delta": 0.3021,
          "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.5091,
          "delta": 0.1181,
          "percent_delta": 0.3021,
          "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.252,
        "after": 0.0,
        "delta": -0.252,
        "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.66,
        "after": 3.0,
        "delta": -1.66,
        "percent_delta": -0.3562,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.2872,
        "delta": 0.0152,
        "percent_delta": 0.0559,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.585,
        "after": 1.0,
        "delta": 0.415,
        "percent_delta": 0.7094,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 1.0,
        "delta": -0.26,
        "percent_delta": -0.2063,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.365,
        "after": 0.3644,
        "delta": -0.0006,
        "percent_delta": -0.0016,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.694,
        "after": 1.0,
        "delta": 0.306,
        "percent_delta": 0.4409,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.98,
        "after": 2.0,
        "delta": 1.02,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.545,
        "after": 0.5091,
        "delta": -0.0359,
        "percent_delta": -0.0659,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.122,
        "after": 1.0,
        "delta": -0.122,
        "percent_delta": -0.1087,
        "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_RBI",
        "before": 0.98,
        "after": 2.0,
        "delta": 1.02,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.66,
        "after": 3.0,
        "delta": -1.66,
        "percent_delta": -0.3562,
        "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.252-
predicted_3B0.020-
predicted_AB4.660-
predicted_AVG0.272-
predicted_BB0.585-
predicted_H1.260-
predicted_HR0.220-
predicted_OBP0.365-
predicted_R0.694-
predicted_RBI0.980-
predicted_SLG0.545-
predicted_SO1.122-
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.2900.038
predicted_3B0.017-0.003
predicted_AB4.372-0.288
predicted_AVG0.2840.012
predicted_BB0.525-0.059
predicted_H1.235-0.025
predicted_HBP0.006-
predicted_HR0.211-0.009
predicted_OBP0.3680.003
predicted_R0.7080.014
predicted_RBI0.914-0.066
predicted_SLG0.544-0.001
predicted_SO1.1460.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.2900.000
predicted_3B0.0170.000
predicted_AB4.3720.000
predicted_AVG0.2870.003
predicted_BB0.5310.006
predicted_H1.2560.020
predicted_HBP0.0060.000
predicted_HR0.2150.004
predicted_OBP0.364-0.004
predicted_R0.7290.021
predicted_RBI0.9420.028
predicted_SLG0.509-0.034
predicted_SO1.132-0.013
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.66), rates preserved: AVG=0.257 HR/AB=0.046

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=7.0, weight=0.076, BvP AVG=0.143)

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.1740.174
3B0.0150.015
BB0.6160.616
H0.916-0.084
HR0.1170.117
RBI0.645-0.355
SO1.1410.141
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.015
AB4.0000.000
BB1.0000.384
H1.0000.084
HR0.000-0.117
R1.0000.000
RBI1.0000.355
SO1.000-0.141
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.290
predicted_3B0.000-0.017
predicted_AB4.000-0.372
predicted_AVG0.244-0.043
predicted_BB0.000-0.531
predicted_H1.000-0.256
predicted_HR0.000-0.215
predicted_OBP0.355-0.009
predicted_R1.0000.271
predicted_RBI1.0000.058
predicted_SLG0.391-0.118
predicted_SO1.000-0.132
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.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: 147
Reference playing time: 4.660
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.0008.0003.0000.0002.0007.0005.0001.0005.0000.38100.40910.80950.38100.09520.33330.04760.2381
last_100.2010-42.00013.0004.0000.0002.0008.0006.0003.00016.0000.30950.35560.54760.30950.04760.19050.07140.3810
season0.60147-571.000157.00037.0003.00021.000101.000102.00086.000165.0000.27500.36970.46060.27500.03680.17690.15060.2890
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3390
predicted_3B0.0130
predicted_AB4.0020
predicted_AVG0.3007
predicted_BB0.4490
predicted_H1.2030
predicted_HBP0.0060
predicted_HR0.2000
predicted_OBP0.3718
predicted_R0.7250
predicted_RBI0.8290
predicted_SLG0.5417
predicted_SO1.1760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.25200.33900.2900model_form_blend
predicted_3B0.02000.01300.0169model_form_blend
predicted_AB4.66004.00204.3723model_form_blend
predicted_AVG0.27200.30070.2845model_form_blend
predicted_BB0.58500.44900.5255model_form_blend
predicted_H1.26001.20301.2351model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.22000.20000.2113model_form_blend
predicted_OBP0.36500.37180.3680model_form_blend
predicted_R0.69400.72500.7076model_form_blend
predicted_RBI0.98000.82900.9140model_form_blend
predicted_SLG0.54500.54170.5436model_form_blend
predicted_SO1.12201.17601.1456model_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 date651
Season rows before report date651
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
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_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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_STL@MIL
game_typefull
mlbID668930
playerID668930
playerNameBrice Turang
pos2B
startedTrue
startingPosition2B
teamMIL
teamID16
game_date2026-09-27
sl_k_percent25.1
sl_bb_percent13.2
sl_woba0.358
sl_xwoba0.344
sl_xba0.255
sl_xslg0.428
sl_sweet_spot_percent38.5
sl_barrel_batted_rate7.7
sl_hard_hit_percent41.6
sl_exit_velocity_avg90.3
sl_launch_angle_avg8.8
sl_whiff_percent23.1
sl_swing_percent43.2
Joey Ortiz (687401) · BATTER · 3B · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 406
All-history rows before 20261003: 406
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2801
Diff (system - data): -0.0131
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.1120.0000.000Hitting_2B0.1180.000-0.1180.000
predicted_3B0.0341.0000.000Hitting_3B0.0340.0000.9661.000
predicted_AB3.1292.0003.000Hitting_AB3.2543.000-1.254-1.000
predicted_AVG0.2670.5000.333Hitting_AVG0.2800.6670.220-0.167
predicted_BB0.2931.0000.000Hitting_BB0.3101.0000.6900.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.8361.0001.000Hitting_H0.9112.0000.089-1.000
predicted_HR0.0780.0000.000Hitting_HR0.0990.000-0.0990.000
predicted_OBP0.3300.6670.333Hitting_OBP0.3380.7500.328-0.083
predicted_R0.4051.0000.000Hitting_R0.4530.0000.5471.000
predicted_RBI0.3970.0000.000Hitting_RBI0.4210.000-0.4210.000
predicted_SLG0.3991.5000.333Hitting_SLG0.4280.6671.0720.833
predicted_SO0.7070.0001.000Hitting_SO0.6920.000-0.6920.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics12
Boosted Metrics7
Deboosted Metrics5
Better Metrics8
Worse Metrics4
Biggest Boostpredicted_3B: 0.0340 -> 1.0000 (boost 0.9660, better)
Biggest Deboostpredicted_AB: 3.1290 -> 2.0000 (deboost -1.1290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33021predicted_SO: 0.7070 -> 0.8376 (boost 0.1306, 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.4055 -> 0.4119 (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_scaling82617predicted_SO: 0.8280 -> 1.0000 (boost 0.1720, worse)predicted_RBI: 0.4050 -> 0.0000 (deboost -0.4050, worse)AB rounded to 3 (raw=3.23), rates preserved: AVG=0.264 HR/AB=0.024
6consistency_constraints10101-predicted_R: 0.4199 -> 0.0000 (deboost -0.4199, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4449 (boost 0.4449, better)predicted_SO: 1.0000 -> 0.7966 (deboost -0.2034, 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.7966 -> 1.0000 (boost 0.2034, worse)predicted_BB: 0.4449 -> 0.0000 (deboost -0.4449, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context20202-predicted_AVG: 0.2767 -> 0.2440 (deboost -0.0327, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference53241predicted_3B: 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_final22020predicted_AVG: 0.2440 -> 0.2767 (boost 0.0327, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687401",
  "player_name": "Joey Ortiz",
  "position": "3B",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.112,
        "predicted_3B": 0.034,
        "predicted_AB": 3.129,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.293,
        "predicted_H": 0.836,
        "predicted_HR": 0.078,
        "predicted_OBP": 0.33,
        "predicted_R": 0.405,
        "predicted_RBI": 0.397,
        "predicted_SLG": 0.399,
        "predicted_SO": 0.707
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1047,
        "predicted_3B": 0.0508,
        "predicted_AB": 3.2326,
        "predicted_AVG": 0.2719,
        "predicted_BB": 0.2866,
        "predicted_H": 0.8798,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0754,
        "predicted_OBP": 0.3307,
        "predicted_R": 0.4076,
        "predicted_RBI": 0.3931,
        "predicted_SLG": 0.4055,
        "predicted_SO": 0.8376
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.112,
          "after": 0.1047,
          "delta": -0.0073,
          "percent_delta": -0.0652,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.034,
          "after": 0.0508,
          "delta": 0.0168,
          "percent_delta": 0.4941,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.129,
          "after": 3.2326,
          "delta": 0.1036,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2719,
          "delta": 0.0049,
          "percent_delta": 0.0184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.293,
          "after": 0.2866,
          "delta": -0.0064,
          "percent_delta": -0.0218,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.836,
          "after": 0.8798,
          "delta": 0.0438,
          "percent_delta": 0.0524,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.078,
          "after": 0.0754,
          "delta": -0.0026,
          "percent_delta": -0.0333,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3307,
          "delta": 0.0007,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.405,
          "after": 0.4076,
          "delta": 0.0026,
          "percent_delta": 0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.397,
          "after": 0.3931,
          "delta": -0.0039,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.4055,
          "delta": 0.0065,
          "percent_delta": 0.0163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.707,
          "after": 0.8376,
          "delta": 0.1306,
          "percent_delta": 0.1847,
          "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_SO",
          "before": 0.707,
          "after": 0.8376,
          "delta": 0.1306,
          "percent_delta": 0.1847,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 116
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1047,
        "predicted_3B": 0.0508,
        "predicted_AB": 3.2326,
        "predicted_AVG": 0.2767,
        "predicted_BB": 0.2899,
        "predicted_H": 0.8944,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0769,
        "predicted_OBP": 0.3362,
        "predicted_R": 0.4199,
        "predicted_RBI": 0.405,
        "predicted_SLG": 0.4119,
        "predicted_SO": 0.828
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1047,
          "after": 0.1047,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0508,
          "after": 0.0508,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2326,
          "after": 3.2326,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2719,
          "after": 0.2767,
          "delta": 0.0048,
          "percent_delta": 0.0177,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2866,
          "after": 0.2899,
          "delta": 0.0033,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8798,
          "after": 0.8944,
          "delta": 0.0146,
          "percent_delta": 0.0166,
          "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.0754,
          "after": 0.0769,
          "delta": 0.0015,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3307,
          "after": 0.3362,
          "delta": 0.0055,
          "percent_delta": 0.0166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4076,
          "after": 0.4199,
          "delta": 0.0123,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3931,
          "after": 0.405,
          "delta": 0.0119,
          "percent_delta": 0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4055,
          "after": 0.4119,
          "delta": 0.0064,
          "percent_delta": 0.0158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8376,
          "after": 0.828,
          "delta": -0.0096,
          "percent_delta": -0.0115,
          "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.4055,
          "after": 0.4119,
          "delta": 0.0064,
          "percent_delta": 0.0158,
          "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.23), rates preserved: AVG=0.264 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.1047,
          "after": 0.0,
          "delta": -0.1047,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0508,
          "after": 0.0,
          "delta": -0.0508,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2326,
          "after": 3.0,
          "delta": -0.2326,
          "percent_delta": -0.072,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2899,
          "after": 0.0,
          "delta": -0.2899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8944,
          "after": 1.0,
          "delta": 0.1056,
          "percent_delta": 0.1181,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0769,
          "after": 0.0,
          "delta": -0.0769,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.405,
          "after": 0.0,
          "delta": -0.405,
          "percent_delta": -1.0,
          "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": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.828,
          "after": 1.0,
          "delta": 0.172,
          "percent_delta": 0.2077,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.405,
          "after": 0.0,
          "delta": -0.405,
          "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.4199,
          "after": 0.0,
          "delta": -0.4199,
          "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.4199,
          "after": 0.0,
          "delta": -0.4199,
          "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.1508,
        "predicted_3B": 0.0179,
        "predicted_BB": 0.4449,
        "predicted_H": 0.8264,
        "predicted_HR": 0.0919,
        "predicted_RBI": 0.4346,
        "predicted_SO": 0.7966
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1508,
          "delta": 0.1508,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0179,
          "delta": 0.0179,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4449,
          "delta": 0.4449,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8264,
          "delta": -0.1736,
          "percent_delta": -0.1736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0919,
          "delta": 0.0919,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4346,
          "delta": 0.4346,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7966,
          "delta": -0.2034,
          "percent_delta": -0.2034,
          "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.4449,
          "delta": 0.4449,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7966,
          "delta": -0.2034,
          "percent_delta": -0.2034,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1508,
          "after": 0.0,
          "delta": -0.1508,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0179,
          "after": 0.0,
          "delta": -0.0179,
          "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.4449,
          "after": 0.0,
          "delta": -0.4449,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8264,
          "after": 1.0,
          "delta": 0.1736,
          "percent_delta": 0.2101,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0919,
          "after": 0.0,
          "delta": -0.0919,
          "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.4346,
          "after": 0.0,
          "delta": -0.4346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7966,
          "after": 1.0,
          "delta": 0.2034,
          "percent_delta": 0.2553,
          "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.7966,
          "after": 1.0,
          "delta": 0.2034,
          "percent_delta": 0.2553,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4449,
          "after": 0.0,
          "delta": -0.4449,
          "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.244,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "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.2767,
          "after": 0.244,
          "delta": -0.0327,
          "percent_delta": -0.1182,
          "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.3362,
          "after": 0.336,
          "delta": -0.0002,
          "percent_delta": -0.0006,
          "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.4119,
          "after": 0.38,
          "delta": -0.0319,
          "percent_delta": -0.0774,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2767,
          "after": 0.244,
          "delta": -0.0327,
          "percent_delta": -0.1182,
          "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": 2.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 3,
        "deboosted_metrics": 2,
        "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": {
          "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": 1.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2767,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3362,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4119,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "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.244,
          "after": 0.2767,
          "delta": 0.0327,
          "percent_delta": 0.1339,
          "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.336,
          "after": 0.3362,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "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.38,
          "after": 0.4119,
          "delta": 0.0319,
          "percent_delta": 0.0839,
          "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_AVG",
          "before": 0.244,
          "after": 0.2767,
          "delta": 0.0327,
          "percent_delta": 0.1339,
          "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.112,
        "after": 0.0,
        "delta": -0.112,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.034,
        "after": 1.0,
        "delta": 0.966,
        "percent_delta": 28.4118,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.129,
        "after": 2.0,
        "delta": -1.129,
        "percent_delta": -0.3608,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2767,
        "delta": 0.0097,
        "percent_delta": 0.0363,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.836,
        "after": 1.0,
        "delta": 0.164,
        "percent_delta": 0.1962,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.078,
        "after": 0.0,
        "delta": -0.078,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.33,
        "after": 0.3362,
        "delta": 0.0062,
        "percent_delta": 0.0188,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.405,
        "after": 1.0,
        "delta": 0.595,
        "percent_delta": 1.4691,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.397,
        "after": 0.0,
        "delta": -0.397,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.399,
        "after": 0.4119,
        "delta": 0.0129,
        "percent_delta": 0.0323,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.707,
        "after": 0.0,
        "delta": -0.707,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 7,
      "deboosted_metrics": 5,
      "better_metrics": 8,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_3B",
        "before": 0.034,
        "after": 1.0,
        "delta": 0.966,
        "percent_delta": 28.4118,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.129,
        "after": 2.0,
        "delta": -1.129,
        "percent_delta": -0.3608,
        "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.112-
predicted_3B0.034-
predicted_AB3.129-
predicted_AVG0.267-
predicted_BB0.293-
predicted_H0.836-
predicted_HR0.078-
predicted_OBP0.330-
predicted_R0.405-
predicted_RBI0.397-
predicted_SLG0.399-
predicted_SO0.707-
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.007
predicted_3B0.0510.017
predicted_AB3.2330.104
predicted_AVG0.2720.005
predicted_BB0.287-0.006
predicted_H0.8800.044
predicted_HBP0.002-
predicted_HR0.075-0.003
predicted_OBP0.3310.001
predicted_R0.4080.003
predicted_RBI0.393-0.004
predicted_SLG0.4060.007
predicted_SO0.8380.131
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.0510.000
predicted_AB3.2330.000
predicted_AVG0.2770.005
predicted_BB0.2900.003
predicted_H0.8940.015
predicted_HBP0.0020.000
predicted_HR0.0770.002
predicted_OBP0.3360.006
predicted_R0.4200.012
predicted_RBI0.4050.012
predicted_SLG0.4120.006
predicted_SO0.828-0.010
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.23), rates preserved: AVG=0.264 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. 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.1510.151
3B0.0180.018
BB0.4450.445
H0.826-0.174
HR0.0920.092
RBI0.4350.435
SO0.797-0.203
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
BB0.000-0.445
H1.0000.174
HR0.000-0.092
R0.0000.000
RBI0.000-0.435
SO1.0000.203
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.051
predicted_AB3.000-0.233
predicted_AVG0.244-0.033
predicted_BB0.000-0.290
predicted_H1.0000.106
predicted_HR0.000-0.077
predicted_OBP0.336-0.000
predicted_R0.000-0.420
predicted_RBI0.000-0.405
predicted_SLG0.380-0.032
predicted_SO1.0000.172
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB2.000-1.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.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: 116
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.0005.0000.0001.0000.0001.0001.0001.0009.0000.27780.31580.38890.27780.00000.05560.05560.5000
last_100.2010-37.00012.0001.0001.0001.0005.0006.0003.00013.0000.32430.37500.48650.32430.02700.13510.08110.3513
season0.60116-363.00097.00013.0004.0009.00046.00047.00034.00082.0000.26720.32590.39940.26720.02480.12670.09370.2259
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.0730
predicted_AB3.3700
predicted_AVG0.2785
predicted_BB0.2780
predicted_H0.9380
predicted_HBP0.0020
predicted_HR0.0720
predicted_OBP0.3317
predicted_R0.4110
predicted_RBI0.3880
predicted_SLG0.4142
predicted_SO1.0110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11200.09500.1047model_form_blend
predicted_3B0.03400.07300.0508model_form_blend
predicted_AB3.12903.37003.2326model_form_blend
predicted_AVG0.26700.27850.2719model_form_blend
predicted_BB0.29300.27800.2866model_form_blend
predicted_H0.83600.93800.8798model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.07800.07200.0754model_form_blend
predicted_OBP0.33000.33170.3307model_form_blend
predicted_R0.40500.41100.4076model_form_blend
predicted_RBI0.39700.38800.3931model_form_blend
predicted_SLG0.39900.41420.4055model_form_blend
predicted_SO0.70701.01100.8376model_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 date406
Season rows before report date406
Report year2026
Profile rows used116
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
H1
2B0
3B1
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_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_SO0
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
allPositionsPlayed3B
gameID20260925_STL@MIL
game_typefull
mlbID687401
playerID687401
playerNameJoey Ortiz
posSS
startedTrue
startingPosition3B
teamMIL
teamID16
game_date2026-09-25
sl_k_percent19.8
sl_bb_percent8.4
sl_woba0.321
sl_xwoba0.297
sl_xba0.243
sl_xslg0.346
sl_sweet_spot_percent29.2
sl_barrel_batted_rate4.0
sl_hard_hit_percent37.6
sl_exit_velocity_avg89.2
sl_launch_angle_avg6.4
sl_whiff_percent19.9
sl_swing_percent44.8
Cooper Pratt (806198) · BATTER · SS · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 248
All-history rows before 20261003: 248
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2875
Diff (system - data): -0.0085
System opponent_avg: 0.2790

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0860.0000.000Hitting_2B0.1050.000-0.1050.000
predicted_3B0.0290.0000.000Hitting_3B0.0560.000-0.0560.000
predicted_AB3.2103.0003.000Hitting_AB3.3104.000-0.310-1.000
predicted_AVG0.2740.6670.333Hitting_AVG0.2870.2500.3790.417
predicted_BB0.3431.0001.000Hitting_BB0.3790.0000.6211.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H0.8802.0001.000Hitting_H0.9521.0001.0481.000
predicted_HR0.0301.0000.000Hitting_HR0.0480.0000.9521.000
predicted_OBP0.3390.7500.500Hitting_OBP0.3570.2500.3930.500
predicted_R0.4291.0000.000Hitting_R0.5400.0000.4601.000
predicted_RBI0.3901.0000.000Hitting_RBI0.5600.0000.4401.000
predicted_SLG0.3551.6670.333Hitting_SLG0.3970.2501.2701.417
predicted_SO0.6570.0001.000Hitting_SO0.6452.000-0.645-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_H: 0.8800 -> 2.0000 (boost 1.1200, better)
Biggest Deboostpredicted_SO: 0.6570 -> 0.0000 (deboost -0.6570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_OBP: 0.3390 -> 0.3454 (boost 0.0064, 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_snapshot11010predicted_OBP: 0.3454 -> 0.3541 (boost 0.0087, 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_scaling62415predicted_SO: 0.6487 -> 1.0000 (boost 0.3513, worse)predicted_RBI: 0.4104 -> 0.0000 (deboost -0.4104, worse)AB rounded to 3 (raw=3.21), rates preserved: AVG=0.268 HR/AB=0.010
6consistency_constraints10101-predicted_R: 0.3915 -> 0.0000 (deboost -0.3915, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4945 (boost 0.4945, better)predicted_SO: 1.0000 -> 0.7479 (deboost -0.2521, 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.4945 -> 1.0000 (boost 0.5055, better)predicted_RBI: 0.4796 -> 0.0000 (deboost -0.4796, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-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_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
11current_json_final22020predicted_AVG: 0.2420 -> 0.2826 (boost 0.0406, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806198",
  "player_name": "Cooper Pratt",
  "position": "SS",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.086,
        "predicted_3B": 0.029,
        "predicted_AB": 3.21,
        "predicted_AVG": 0.274,
        "predicted_BB": 0.343,
        "predicted_H": 0.88,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.339,
        "predicted_R": 0.429,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.355,
        "predicted_SO": 0.657
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0998,
        "predicted_3B": 0.024,
        "predicted_AB": 3.1957,
        "predicted_AVG": 0.2779,
        "predicted_BB": 0.3497,
        "predicted_H": 0.8884,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0321,
        "predicted_OBP": 0.3454,
        "predicted_R": 0.38,
        "predicted_RBI": 0.3984,
        "predicted_SLG": 0.3588,
        "predicted_SO": 0.6562
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.086,
          "after": 0.0998,
          "delta": 0.0138,
          "percent_delta": 0.1605,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.029,
          "after": 0.024,
          "delta": -0.005,
          "percent_delta": -0.1724,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.21,
          "after": 3.1957,
          "delta": -0.0143,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.274,
          "after": 0.2779,
          "delta": 0.0039,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.343,
          "after": 0.3497,
          "delta": 0.0067,
          "percent_delta": 0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8884,
          "delta": 0.0084,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0321,
          "delta": 0.0021,
          "percent_delta": 0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.3454,
          "delta": 0.0064,
          "percent_delta": 0.0189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.429,
          "after": 0.38,
          "delta": -0.049,
          "percent_delta": -0.1142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.3984,
          "delta": 0.0084,
          "percent_delta": 0.0215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3588,
          "delta": 0.0038,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.657,
          "after": 0.6562,
          "delta": -0.0008,
          "percent_delta": -0.0012,
          "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.339,
          "after": 0.3454,
          "delta": 0.0064,
          "percent_delta": 0.0189,
          "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.0998,
        "predicted_3B": 0.024,
        "predicted_AB": 3.1957,
        "predicted_AVG": 0.2826,
        "predicted_BB": 0.3537,
        "predicted_H": 0.9031,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.0327,
        "predicted_OBP": 0.3541,
        "predicted_R": 0.3915,
        "predicted_RBI": 0.4104,
        "predicted_SLG": 0.3596,
        "predicted_SO": 0.6487
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0998,
          "after": 0.0998,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.024,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1957,
          "after": 3.1957,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2779,
          "after": 0.2826,
          "delta": 0.0047,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3497,
          "after": 0.3537,
          "delta": 0.004,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8884,
          "after": 0.9031,
          "delta": 0.0147,
          "percent_delta": 0.0165,
          "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.0321,
          "after": 0.0327,
          "delta": 0.0006,
          "percent_delta": 0.0187,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3454,
          "after": 0.3541,
          "delta": 0.0087,
          "percent_delta": 0.0252,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.38,
          "after": 0.3915,
          "delta": 0.0115,
          "percent_delta": 0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3984,
          "after": 0.4104,
          "delta": 0.012,
          "percent_delta": 0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3588,
          "after": 0.3596,
          "delta": 0.0008,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6562,
          "after": 0.6487,
          "delta": -0.0075,
          "percent_delta": -0.0114,
          "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.3454,
          "after": 0.3541,
          "delta": 0.0087,
          "percent_delta": 0.0252,
          "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.21), rates preserved: AVG=0.268 HR/AB=0.010",
      "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.0998,
          "after": 0.0,
          "delta": -0.0998,
          "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.1957,
          "after": 3.0,
          "delta": -0.1957,
          "percent_delta": -0.0612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3537,
          "after": 0.0,
          "delta": -0.3537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9031,
          "after": 1.0,
          "delta": 0.0969,
          "percent_delta": 0.1073,
          "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.0327,
          "after": 0.0,
          "delta": -0.0327,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4104,
          "after": 0.0,
          "delta": -0.4104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6487,
          "after": 1.0,
          "delta": 0.3513,
          "percent_delta": 0.5415,
          "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.6487,
          "after": 1.0,
          "delta": 0.3513,
          "percent_delta": 0.5415,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4104,
          "after": 0.0,
          "delta": -0.4104,
          "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.3915,
          "after": 0.0,
          "delta": -0.3915,
          "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.3915,
          "after": 0.0,
          "delta": -0.3915,
          "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.1513,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.4945,
        "predicted_H": 0.8454,
        "predicted_HR": 0.0785,
        "predicted_RBI": 0.4796,
        "predicted_SO": 0.7479
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1513,
          "delta": 0.1513,
          "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.4945,
          "delta": 0.4945,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8454,
          "delta": -0.1546,
          "percent_delta": -0.1546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0785,
          "delta": 0.0785,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4796,
          "delta": 0.4796,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7479,
          "delta": -0.2521,
          "percent_delta": -0.2521,
          "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.4945,
          "delta": 0.4945,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7479,
          "delta": -0.2521,
          "percent_delta": -0.2521,
          "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.1513,
          "after": 0.0,
          "delta": -0.1513,
          "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.4945,
          "after": 1.0,
          "delta": 0.5055,
          "percent_delta": 1.0222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8454,
          "after": 1.0,
          "delta": 0.1546,
          "percent_delta": 0.1829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0785,
          "after": 0.0,
          "delta": -0.0785,
          "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.4796,
          "after": 0.0,
          "delta": -0.4796,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7479,
          "after": 1.0,
          "delta": 0.2521,
          "percent_delta": 0.3371,
          "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.4945,
          "after": 1.0,
          "delta": 0.5055,
          "percent_delta": 1.0222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4796,
          "after": 0.0,
          "delta": -0.4796,
          "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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.341,
        "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": 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.2826,
          "after": 0.242,
          "delta": -0.0406,
          "percent_delta": -0.1437,
          "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.3541,
          "after": 0.341,
          "delta": -0.0131,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3596,
          "after": 0.361,
          "delta": 0.0014,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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": 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.2826,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3541,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3596,
        "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.242,
          "after": 0.2826,
          "delta": 0.0406,
          "percent_delta": 0.1678,
          "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.341,
          "after": 0.3541,
          "delta": 0.0131,
          "percent_delta": 0.0384,
          "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.361,
          "after": 0.3596,
          "delta": -0.0014,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2826,
          "delta": 0.0406,
          "percent_delta": 0.1678,
          "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.086,
        "after": 0.0,
        "delta": -0.086,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.21,
        "after": 3.0,
        "delta": -0.21,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.274,
        "after": 0.2826,
        "delta": 0.0086,
        "percent_delta": 0.0314,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.343,
        "after": 1.0,
        "delta": 0.657,
        "percent_delta": 1.9155,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 2.0,
        "delta": 1.12,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 1.0,
        "delta": 0.97,
        "percent_delta": 32.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.3541,
        "delta": 0.0151,
        "percent_delta": 0.0445,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 1.0,
        "delta": 0.571,
        "percent_delta": 1.331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.39,
        "after": 1.0,
        "delta": 0.61,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.355,
        "after": 0.3596,
        "delta": 0.0046,
        "percent_delta": 0.013,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.657,
        "after": 0.0,
        "delta": -0.657,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 8,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 2.0,
        "delta": 1.12,
        "percent_delta": 1.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.657,
        "after": 0.0,
        "delta": -0.657,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.086-
predicted_3B0.029-
predicted_AB3.210-
predicted_AVG0.274-
predicted_BB0.343-
predicted_H0.880-
predicted_HR0.030-
predicted_OBP0.339-
predicted_R0.429-
predicted_RBI0.390-
predicted_SLG0.355-
predicted_SO0.657-
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.1000.014
predicted_3B0.024-0.005
predicted_AB3.196-0.014
predicted_AVG0.2780.004
predicted_BB0.3500.007
predicted_H0.8880.008
predicted_HBP0.018-
predicted_HR0.0320.002
predicted_OBP0.3450.006
predicted_R0.380-0.049
predicted_RBI0.3980.008
predicted_SLG0.3590.004
predicted_SO0.656-0.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.1000.000
predicted_3B0.0240.000
predicted_AB3.1960.000
predicted_AVG0.2830.005
predicted_BB0.3540.004
predicted_H0.9030.015
predicted_HBP0.0180.000
predicted_HR0.0330.001
predicted_OBP0.3540.009
predicted_R0.3920.012
predicted_RBI0.4100.012
predicted_SLG0.3600.001
predicted_SO0.649-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.21), rates preserved: AVG=0.268 HR/AB=0.010

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.1510.151
3B0.0150.015
BB0.4940.494
H0.845-0.155
HR0.0790.079
RBI0.4800.480
SO0.748-0.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.151
3B0.000-0.015
AB3.0000.000
BB1.0000.506
H1.0000.155
HR0.000-0.079
R0.0000.000
RBI0.000-0.480
SO1.0000.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.100
predicted_3B0.000-0.024
predicted_AB3.000-0.196
predicted_AVG0.242-0.041
predicted_BB0.000-0.354
predicted_H1.0000.097
predicted_HR0.000-0.033
predicted_OBP0.341-0.013
predicted_R0.000-0.392
predicted_RBI0.000-0.410
predicted_SLG0.3610.001
predicted_SO1.0000.351
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
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: 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-15.0004.0001.0000.0000.0001.0000.0002.0003.0000.26670.35290.33330.26670.00000.06670.13330.2000
last_100.2010-30.00010.0001.0000.0000.0004.0002.0004.0006.0000.33330.41180.36670.33330.00000.13330.13330.2000
season0.6070-222.00062.0006.0002.0003.00033.00030.00024.00046.0000.27930.34510.36490.27930.01350.14870.10810.2072
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.0170
predicted_AB3.1760
predicted_AVG0.2834
predicted_BB0.3590
predicted_H0.9000
predicted_HBP0.0180
predicted_HR0.0350
predicted_OBP0.3543
predicted_R0.3120
predicted_RBI0.4100
predicted_SLG0.3641
predicted_SO0.6550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08600.11900.0998model_form_blend
predicted_3B0.02900.01700.0240model_form_blend
predicted_AB3.21003.17603.1957model_form_blend
predicted_AVG0.27400.28340.2779model_form_blend
predicted_BB0.34300.35900.3497model_form_blend
predicted_H0.88000.90000.8884model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.03000.03500.0321model_form_blend
predicted_OBP0.33900.35430.3454model_form_blend
predicted_R0.42900.31200.3800model_form_blend
predicted_RBI0.39000.41000.3984model_form_blend
predicted_SLG0.35500.36410.3588model_form_blend
predicted_SO0.65700.65500.6562model_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 date248
Season rows before report date248
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
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_E1
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_SO2
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
allPositionsPlayedSS
gameID20260927_STL@MIL
game_typefull
mlbID806198
playerID806198
playerNameCooper Pratt
posSS
startedTrue
startingPositionSS
teamMIL
teamID16
game_date2026-09-27
sl_k_percent18.0
sl_bb_percent9.8
sl_woba0.32
sl_xwoba0.315
sl_xba0.266
sl_xslg0.362
sl_sweet_spot_percent41.1
sl_barrel_batted_rate3.2
sl_hard_hit_percent27.4
sl_exit_velocity_avg87.0
sl_launch_angle_avg9.1
sl_whiff_percent21.8
sl_swing_percent46.4
Christian Yelich (592885) · BATTER · DH · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 476
All-history rows before 20261003: 476
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.2377
Diff (system - data): -0.0077
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.1840.0000.000Hitting_2B0.2000.000-0.2000.000
predicted_3B0.0180.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.1004.0004.000Hitting_AB3.9774.0000.0230.000
predicted_AVG0.2160.0000.250Hitting_AVG0.2380.250-0.238-0.250
predicted_BB0.4300.0000.000Hitting_BB0.4580.000-0.4580.000
predicted_CS-0.0000.000BaseRunning_CS0.0110.000-0.0110.000
predicted_H0.8800.0001.000Hitting_H0.9451.000-0.945-1.000
predicted_HR0.1300.0000.000Hitting_HR0.1050.000-0.1050.000
predicted_OBP0.3250.0000.250Hitting_OBP0.3210.250-0.321-0.250
predicted_R0.5880.0001.000Hitting_R0.6370.000-0.6370.000
predicted_RBI0.5500.0001.000Hitting_RBI0.5271.000-0.527-1.000
predicted_SLG0.3680.0000.250Hitting_SLG0.3780.250-0.378-0.250
predicted_SO1.1490.0001.000Hitting_SO1.1872.000-1.187-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics0
Deboosted Metrics9
Better Metrics1
Worse Metrics8
Biggest Boost-
Biggest Deboostpredicted_SO: 1.1490 -> 0.0000 (deboost -1.1490, 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.1000 -> 3.8671 (deboost -0.2329, 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.3179 -> 0.3003 (deboost -0.0176, 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_scaling73443predicted_BB: 0.4547 -> 1.0000 (boost 0.5453, better)predicted_RBI: 0.5354 -> 0.0000 (deboost -0.5354, worse)AB rounded to 4 (raw=4.10), rates preserved: AVG=0.196 HR/AB=0.032
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.5991 -> 1.0000 (boost 0.4009, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_RBI: 0.0000 -> 0.4956 (boost 0.4956, better)predicted_BB: 1.0000 -> 0.4850 (deboost -0.5150, 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.4956 -> 1.0000 (boost 0.5044, better)predicted_BB: 0.4850 -> 0.0000 (deboost -0.4850, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, 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_reference40413-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_SLG: 0.3570 -> 0.3668 (boost 0.0098, better)predicted_OBP: 0.3240 -> 0.3003 (deboost -0.0237, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "592885",
  "player_name": "Christian Yelich",
  "position": "DH",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.184,
        "predicted_3B": 0.018,
        "predicted_AB": 4.1,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.43,
        "predicted_H": 0.88,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.325,
        "predicted_R": 0.588,
        "predicted_RBI": 0.55,
        "predicted_SLG": 0.368,
        "predicted_SO": 1.149
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1515,
        "predicted_3B": 0.0145,
        "predicted_AB": 3.8671,
        "predicted_AVG": 0.2152,
        "predicted_BB": 0.4495,
        "predicted_H": 0.8293,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.1291,
        "predicted_OBP": 0.3179,
        "predicted_R": 0.5815,
        "predicted_RBI": 0.5197,
        "predicted_SLG": 0.3636,
        "predicted_SO": 1.1629
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.184,
          "after": 0.1515,
          "delta": -0.0325,
          "percent_delta": -0.1766,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.0145,
          "delta": -0.0035,
          "percent_delta": -0.1944,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.8671,
          "delta": -0.2329,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.216,
          "after": 0.2152,
          "delta": -0.0008,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.43,
          "after": 0.4495,
          "delta": 0.0195,
          "percent_delta": 0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8293,
          "delta": -0.0507,
          "percent_delta": -0.0576,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1291,
          "delta": -0.0009,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3179,
          "delta": -0.0071,
          "percent_delta": -0.0218,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.588,
          "after": 0.5815,
          "delta": -0.0065,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.55,
          "after": 0.5197,
          "delta": -0.0303,
          "percent_delta": -0.0551,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.368,
          "after": 0.3636,
          "delta": -0.0044,
          "percent_delta": -0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.149,
          "after": 1.1629,
          "delta": 0.0139,
          "percent_delta": 0.0121,
          "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.1,
          "after": 3.8671,
          "delta": -0.2329,
          "percent_delta": -0.0568,
          "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": 114
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1515,
        "predicted_3B": 0.0145,
        "predicted_AB": 3.8671,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.4547,
        "predicted_H": 0.8431,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.1317,
        "predicted_OBP": 0.3003,
        "predicted_R": 0.5991,
        "predicted_RBI": 0.5354,
        "predicted_SLG": 0.3668,
        "predicted_SO": 1.1495
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1515,
          "after": 0.1515,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0145,
          "after": 0.0145,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8671,
          "after": 3.8671,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2152,
          "after": 0.218,
          "delta": 0.0028,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4495,
          "after": 0.4547,
          "delta": 0.0052,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8293,
          "after": 0.8431,
          "delta": 0.0138,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1291,
          "after": 0.1317,
          "delta": 0.0026,
          "percent_delta": 0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3179,
          "after": 0.3003,
          "delta": -0.0176,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5815,
          "after": 0.5991,
          "delta": 0.0176,
          "percent_delta": 0.0303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5197,
          "after": 0.5354,
          "delta": 0.0157,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3636,
          "after": 0.3668,
          "delta": 0.0032,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1629,
          "after": 1.1495,
          "delta": -0.0134,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3179,
          "after": 0.3003,
          "delta": -0.0176,
          "percent_delta": -0.0554,
          "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.10), rates preserved: AVG=0.196 HR/AB=0.032",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1515,
          "after": 0.0,
          "delta": -0.1515,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0145,
          "after": 0.0,
          "delta": -0.0145,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8671,
          "after": 4.0,
          "delta": 0.1329,
          "percent_delta": 0.0344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.8431,
          "after": 1.0,
          "delta": 0.1569,
          "percent_delta": 0.1861,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1317,
          "after": 0.0,
          "delta": -0.1317,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5354,
          "after": 0.0,
          "delta": -0.5354,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1495,
          "after": 1.0,
          "delta": -0.1495,
          "percent_delta": -0.1301,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4547,
          "after": 1.0,
          "delta": 0.5453,
          "percent_delta": 1.1993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5354,
          "after": 0.0,
          "delta": -0.5354,
          "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=16.0, weight=0.139, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.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": 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.5991,
          "after": 1.0,
          "delta": 0.4009,
          "percent_delta": 0.6692,
          "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.5991,
          "after": 1.0,
          "delta": 0.4009,
          "percent_delta": 0.6692,
          "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.1645,
        "predicted_3B": 0.014,
        "predicted_BB": 0.485,
        "predicted_H": 0.853,
        "predicted_HR": 0.0941,
        "predicted_RBI": 0.4956,
        "predicted_SO": 1.1425
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1645,
          "delta": 0.1645,
          "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": 1.0,
          "after": 0.485,
          "delta": -0.515,
          "percent_delta": -0.515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.853,
          "delta": -0.147,
          "percent_delta": -0.147,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0941,
          "delta": 0.0941,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4956,
          "delta": 0.4956,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1425,
          "delta": 0.1425,
          "percent_delta": 0.1425,
          "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.4956,
          "delta": 0.4956,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.485,
          "delta": -0.515,
          "percent_delta": -0.515,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1645,
          "after": 0.0,
          "delta": -0.1645,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.485,
          "after": 0.0,
          "delta": -0.485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.853,
          "after": 1.0,
          "delta": 0.147,
          "percent_delta": 0.1723,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0941,
          "after": 0.0,
          "delta": -0.0941,
          "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.4956,
          "after": 1.0,
          "delta": 0.5044,
          "percent_delta": 1.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1425,
          "after": 1.0,
          "delta": -0.1425,
          "percent_delta": -0.1247,
          "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.4956,
          "after": 1.0,
          "delta": 0.5044,
          "percent_delta": 1.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.485,
          "after": 0.0,
          "delta": -0.485,
          "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.229,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.229,
          "delta": 0.011,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3003,
          "after": 0.324,
          "delta": 0.0237,
          "percent_delta": 0.0789,
          "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.3668,
          "after": 0.357,
          "delta": -0.0098,
          "percent_delta": -0.0267,
          "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": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "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": 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.218,
        "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.3003,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3668,
        "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.229,
          "after": 0.218,
          "delta": -0.011,
          "percent_delta": -0.048,
          "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.324,
          "after": 0.3003,
          "delta": -0.0237,
          "percent_delta": -0.0732,
          "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.3668,
          "delta": 0.0098,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3668,
          "delta": 0.0098,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3003,
          "delta": -0.0237,
          "percent_delta": -0.0732,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.184,
        "after": 0.0,
        "delta": -0.184,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.018,
        "after": 0.0,
        "delta": -0.018,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 4.0,
        "delta": -0.1,
        "percent_delta": -0.0244,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.216,
        "after": 0.218,
        "delta": 0.002,
        "percent_delta": 0.0093,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "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.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.3003,
        "delta": -0.0247,
        "percent_delta": -0.076,
        "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.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.368,
        "after": 0.3668,
        "delta": -0.0012,
        "percent_delta": -0.0033,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.149,
        "after": 0.0,
        "delta": -1.149,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 0,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.149,
        "after": 0.0,
        "delta": -1.149,
        "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.184-
predicted_3B0.018-
predicted_AB4.100-
predicted_AVG0.216-
predicted_BB0.430-
predicted_H0.880-
predicted_HR0.130-
predicted_OBP0.325-
predicted_R0.588-
predicted_RBI0.550-
predicted_SLG0.368-
predicted_SO1.149-
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.151-0.033
predicted_3B0.015-0.003
predicted_AB3.867-0.233
predicted_AVG0.215-0.001
predicted_BB0.4500.020
predicted_H0.829-0.051
predicted_HBP0.021-
predicted_HR0.129-0.001
predicted_OBP0.318-0.007
predicted_R0.582-0.006
predicted_RBI0.520-0.030
predicted_SLG0.364-0.004
predicted_SO1.1630.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.1510.000
predicted_3B0.0150.000
predicted_AB3.8670.000
predicted_AVG0.2180.003
predicted_BB0.4550.005
predicted_H0.8430.014
predicted_HBP0.0210.000
predicted_HR0.1320.003
predicted_OBP0.300-0.018
predicted_R0.5990.018
predicted_RBI0.5350.016
predicted_SLG0.3670.003
predicted_SO1.149-0.013
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.10), rates preserved: AVG=0.196 HR/AB=0.032

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. 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
BB1.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
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
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.1650.165
3B0.0140.014
BB0.485-0.515
H0.853-0.147
HR0.0940.094
RBI0.4960.496
SO1.1430.143
9. 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.014
AB4.0000.000
BB0.000-0.485
H1.0000.147
HR0.000-0.094
R1.0000.000
RBI1.0000.504
SO1.000-0.143
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.151
predicted_3B0.000-0.015
predicted_AB4.0000.133
predicted_AVG0.2290.011
predicted_BB1.0000.545
predicted_H1.0000.157
predicted_HR0.000-0.132
predicted_OBP0.3240.024
predicted_R1.0000.401
predicted_RBI0.000-0.535
predicted_SLG0.357-0.010
predicted_SO1.000-0.149
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.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: 114
Reference playing time: 4.100
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.0001.0002.0003.0003.0006.0000.20000.33330.40000.20000.06670.13330.20000.4000
last_100.2010-35.0006.0000.0000.0001.0005.0005.0005.00013.0000.17140.27500.25710.17140.02860.14290.14290.3714
season0.60114-427.00098.00021.0002.00012.00057.00067.00049.000131.0000.22950.31200.37240.22950.02810.13350.11480.3068
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1090
predicted_3B0.0100
predicted_AB3.5620
predicted_AVG0.2141
predicted_BB0.4750
predicted_H0.7630
predicted_HBP0.0210
predicted_HR0.1280
predicted_OBP0.3087
predicted_R0.5730
predicted_RBI0.4800
predicted_SLG0.3579
predicted_SO1.1810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18400.10900.1515model_form_blend
predicted_3B0.01800.01000.0145model_form_blend
predicted_AB4.10003.56203.8671model_form_blend
predicted_AVG0.21600.21410.2152model_form_blend
predicted_BB0.43000.47500.4495model_form_blend
predicted_H0.88000.76300.8293model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.13000.12800.1291model_form_blend
predicted_OBP0.32500.30870.3179model_form_blend
predicted_R0.58800.57300.5815model_form_blend
predicted_RBI0.55000.48000.5197model_form_blend
predicted_SLG0.36800.35790.3636model_form_blend
predicted_SO1.14901.18101.1629model_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 date476
Season rows before report date476
Report year2026
Profile rows used114
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
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_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
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
allPositionsPlayedDH
gameID20260927_STL@MIL
game_typefull
mlbID592885
playerID592885
playerNameChristian Yelich
posDH
startedTrue
startingPositionDH
teamMIL
teamID16
game_date2026-09-27
sl_k_percent27.0
sl_bb_percent9.8
sl_woba0.305
sl_xwoba0.308
sl_xba0.23
sl_xslg0.385
sl_sweet_spot_percent29.5
sl_barrel_batted_rate9.6
sl_hard_hit_percent42.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg4.0
sl_whiff_percent29.6
sl_swing_percent45.4
Garrett Mitchell (669003) · BATTER · CF · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 502
All-history rows before 20261003: 502
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2735
Diff (system - data): -0.0155
System opponent_avg: 0.2110
System season_avg diverges from 2026 season-to-date by -0.0155. 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.2040.0000.000Hitting_2B0.2330.000-0.2330.000
predicted_3B0.0290.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.2854.0003.000Hitting_AB3.5403.0000.4601.000
predicted_AVG0.2520.0000.000Hitting_AVG0.2730.333-0.273-0.333
predicted_BB0.4010.0000.000Hitting_BB0.4301.000-0.430-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0580.000-0.0580.000
predicted_H0.8200.0000.000Hitting_H0.9681.000-0.968-1.000
predicted_HR0.0800.0000.000Hitting_HR0.0840.000-0.0840.000
predicted_OBP0.3320.0000.000Hitting_OBP0.3580.500-0.358-0.500
predicted_R0.5180.0001.000Hitting_R0.5821.000-0.582-1.000
predicted_RBI0.3000.0000.000Hitting_RBI0.5280.000-0.5280.000
predicted_SLG0.3670.0000.000Hitting_SLG0.4290.333-0.429-0.333
predicted_SO1.1821.0001.000Hitting_SO1.1790.000-0.1791.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 3.2850 -> 4.0000 (boost 0.7150, better)
Biggest Deboostpredicted_H: 0.8200 -> 0.0000 (deboost -0.8200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_SLG: 0.3670 -> 0.3489 (deboost -0.0181, 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.3489 -> 0.3737 (boost 0.0248, 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_scaling71625predicted_H: 0.8072 -> 1.0000 (boost 0.1928, better)predicted_BB: 0.4030 -> 0.0000 (deboost -0.4030, worse)AB rounded to 3 (raw=3.31), rates preserved: AVG=0.233 HR/AB=0.020
6consistency_constraints11010predicted_R: 0.5640 -> 1.0000 (boost 0.4360, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4536 (boost 0.4536, better)predicted_H: 1.0000 -> 0.7952 (deboost -0.2048, 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.7952 -> 0.0000 (deboost -0.7952, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context22020predicted_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_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_final10101-predicted_OBP: 0.3370 -> 0.3261 (deboost -0.0109, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669003",
  "player_name": "Garrett Mitchell",
  "position": "CF",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.204,
        "predicted_3B": 0.029,
        "predicted_AB": 3.285,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.401,
        "predicted_H": 0.82,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.332,
        "predicted_R": 0.518,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.182
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1784,
        "predicted_3B": 0.0242,
        "predicted_AB": 3.308,
        "predicted_AVG": 0.2414,
        "predicted_BB": 0.3984,
        "predicted_H": 0.794,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.0661,
        "predicted_OBP": 0.324,
        "predicted_R": 0.5475,
        "predicted_RBI": 0.2857,
        "predicted_SLG": 0.3489,
        "predicted_SO": 1.1954
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.204,
          "after": 0.1784,
          "delta": -0.0256,
          "percent_delta": -0.1255,
          "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.285,
          "after": 3.308,
          "delta": 0.023,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2414,
          "delta": -0.0106,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.401,
          "after": 0.3984,
          "delta": -0.0026,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.82,
          "after": 0.794,
          "delta": -0.026,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0661,
          "delta": -0.0139,
          "percent_delta": -0.1737,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.324,
          "delta": -0.008,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.518,
          "after": 0.5475,
          "delta": 0.0295,
          "percent_delta": 0.0569,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.2857,
          "delta": -0.0143,
          "percent_delta": -0.0477,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3489,
          "delta": -0.0181,
          "percent_delta": -0.0493,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.182,
          "after": 1.1954,
          "delta": 0.0134,
          "percent_delta": 0.0113,
          "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.367,
          "after": 0.3489,
          "delta": -0.0181,
          "percent_delta": -0.0493,
          "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.1784,
        "predicted_3B": 0.0242,
        "predicted_AB": 3.308,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.403,
        "predicted_H": 0.8072,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.0674,
        "predicted_OBP": 0.3261,
        "predicted_R": 0.564,
        "predicted_RBI": 0.2943,
        "predicted_SLG": 0.3737,
        "predicted_SO": 1.1817
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1784,
          "after": 0.1784,
          "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.308,
          "after": 3.308,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2414,
          "after": 0.244,
          "delta": 0.0026,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3984,
          "after": 0.403,
          "delta": 0.0046,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.794,
          "after": 0.8072,
          "delta": 0.0132,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.027,
          "after": 0.027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0661,
          "after": 0.0674,
          "delta": 0.0013,
          "percent_delta": 0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3261,
          "delta": 0.0021,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5475,
          "after": 0.564,
          "delta": 0.0165,
          "percent_delta": 0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2857,
          "after": 0.2943,
          "delta": 0.0086,
          "percent_delta": 0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3489,
          "after": 0.3737,
          "delta": 0.0248,
          "percent_delta": 0.0711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1954,
          "after": 1.1817,
          "delta": -0.0137,
          "percent_delta": -0.0115,
          "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.3489,
          "after": 0.3737,
          "delta": 0.0248,
          "percent_delta": 0.0711,
          "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.31), rates preserved: AVG=0.233 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.1784,
          "after": 0.0,
          "delta": -0.1784,
          "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.308,
          "after": 3.0,
          "delta": -0.308,
          "percent_delta": -0.0931,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.403,
          "after": 0.0,
          "delta": -0.403,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8072,
          "after": 1.0,
          "delta": 0.1928,
          "percent_delta": 0.2389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.027,
          "after": 0.0,
          "delta": -0.027,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0674,
          "after": 0.0,
          "delta": -0.0674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2943,
          "after": 0.0,
          "delta": -0.2943,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1817,
          "after": 1.0,
          "delta": -0.1817,
          "percent_delta": -0.1538,
          "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.8072,
          "after": 1.0,
          "delta": 0.1928,
          "percent_delta": 0.2389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.403,
          "after": 0.0,
          "delta": -0.403,
          "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": 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.564,
          "after": 1.0,
          "delta": 0.436,
          "percent_delta": 0.773,
          "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.564,
          "after": 1.0,
          "delta": 0.436,
          "percent_delta": 0.773,
          "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.1554,
        "predicted_3B": 0.0182,
        "predicted_BB": 0.4536,
        "predicted_H": 0.7952,
        "predicted_HR": 0.0791,
        "predicted_RBI": 0.4485,
        "predicted_SO": 1.2352
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1554,
          "delta": 0.1554,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0182,
          "delta": 0.0182,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4536,
          "delta": 0.4536,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7952,
          "delta": -0.2048,
          "percent_delta": -0.2048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0791,
          "delta": 0.0791,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4485,
          "delta": 0.4485,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2352,
          "delta": 0.2352,
          "percent_delta": 0.2352,
          "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.4536,
          "delta": 0.4536,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7952,
          "delta": -0.2048,
          "percent_delta": -0.2048,
          "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.1554,
          "after": 0.0,
          "delta": -0.1554,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4536,
          "after": 0.0,
          "delta": -0.4536,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7952,
          "after": 0.0,
          "delta": -0.7952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0791,
          "after": 0.0,
          "delta": -0.0791,
          "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.4485,
          "after": 0.0,
          "delta": -0.4485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2352,
          "after": 1.0,
          "delta": -0.2352,
          "percent_delta": -0.1904,
          "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.7952,
          "after": 0.0,
          "delta": -0.7952,
          "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.241,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.337,
        "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": 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.244,
          "after": 0.241,
          "delta": -0.003,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.3261,
          "after": 0.337,
          "delta": 0.0109,
          "percent_delta": 0.0334,
          "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.3737,
          "after": 0.37,
          "delta": -0.0037,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.244,
        "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.3261,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3737,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.244,
          "delta": 0.003,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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.337,
          "after": 0.3261,
          "delta": -0.0109,
          "percent_delta": -0.0323,
          "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.37,
          "after": 0.3737,
          "delta": 0.0037,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_OBP",
          "before": 0.337,
          "after": 0.3261,
          "delta": -0.0109,
          "percent_delta": -0.0323,
          "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.204,
        "after": 0.0,
        "delta": -0.204,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.029,
        "after": 0.0,
        "delta": -0.029,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.285,
        "after": 4.0,
        "delta": 0.715,
        "percent_delta": 0.2177,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.244,
        "delta": -0.008,
        "percent_delta": -0.0317,
        "direction": "deboost",
        "projection_effect": "worse",
        "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": 0.82,
        "after": 0.0,
        "delta": -0.82,
        "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.332,
        "after": 0.3261,
        "delta": -0.0059,
        "percent_delta": -0.0178,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.518,
        "after": 0.0,
        "delta": -0.518,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.367,
        "after": 0.3737,
        "delta": 0.0067,
        "percent_delta": 0.0183,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.182,
        "after": 1.0,
        "delta": -0.182,
        "percent_delta": -0.154,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.285,
        "after": 4.0,
        "delta": 0.715,
        "percent_delta": 0.2177,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.82,
        "after": 0.0,
        "delta": -0.82,
        "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.204-
predicted_3B0.029-
predicted_AB3.285-
predicted_AVG0.252-
predicted_BB0.401-
predicted_H0.820-
predicted_HR0.080-
predicted_OBP0.332-
predicted_R0.518-
predicted_RBI0.300-
predicted_SLG0.367-
predicted_SO1.182-
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.026
predicted_3B0.024-0.005
predicted_AB3.3080.023
predicted_AVG0.241-0.011
predicted_BB0.398-0.003
predicted_H0.794-0.026
predicted_HBP0.027-
predicted_HR0.066-0.014
predicted_OBP0.324-0.008
predicted_R0.5470.029
predicted_RBI0.286-0.014
predicted_SLG0.349-0.018
predicted_SO1.1950.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.1780.000
predicted_3B0.0240.000
predicted_AB3.3080.000
predicted_AVG0.2440.003
predicted_BB0.4030.005
predicted_H0.8070.013
predicted_HBP0.0270.000
predicted_HR0.0670.001
predicted_OBP0.3260.002
predicted_R0.5640.016
predicted_RBI0.2940.009
predicted_SLG0.3740.025
predicted_SO1.182-0.014
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.233 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
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.1550.155
3B0.0180.018
BB0.4540.454
H0.795-0.205
HR0.0790.079
RBI0.4490.449
SO1.2350.235
8. 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.018
AB3.0000.000
BB0.000-0.454
H0.000-0.795
HR0.000-0.079
R1.0000.000
RBI0.000-0.449
SO1.000-0.235
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.178
predicted_3B0.000-0.024
predicted_AB3.000-0.308
predicted_AVG0.241-0.003
predicted_BB0.000-0.403
predicted_H1.0000.193
predicted_HR0.000-0.067
predicted_OBP0.3370.011
predicted_R1.0000.436
predicted_RBI0.000-0.294
predicted_SLG0.370-0.004
predicted_SO1.000-0.182
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.0000.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: 137
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.0000.0004.0002.0006.0000.17650.26320.17650.17650.00000.00000.11770.3529
last_100.2010-33.0006.0001.0000.0000.0000.0006.0004.00014.0000.18180.27030.21210.18180.00000.00000.12120.4242
season0.60137-450.000116.00028.0004.00010.00058.00071.00055.000162.0000.25780.34570.40440.25780.02220.12890.12220.3600
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1450
predicted_3B0.0180
predicted_AB3.3380
predicted_AVG0.2276
predicted_BB0.3950
predicted_H0.7600
predicted_HBP0.0270
predicted_HR0.0480
predicted_OBP0.3136
predicted_R0.5860
predicted_RBI0.2670
predicted_SLG0.3252
predicted_SO1.2130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20400.14500.1784model_form_blend
predicted_3B0.02900.01800.0242model_form_blend
predicted_AB3.28503.33803.3080model_form_blend
predicted_AVG0.25200.22760.2414model_form_blend
predicted_BB0.40100.39500.3984model_form_blend
predicted_H0.82000.76000.7940model_form_blend
predicted_HBP-0.02700.0270form_only
predicted_HR0.08000.04800.0661model_form_blend
predicted_OBP0.33200.31360.3240model_form_blend
predicted_R0.51800.58600.5475model_form_blend
predicted_RBI0.30000.26700.2857model_form_blend
predicted_SLG0.36700.32520.3489model_form_blend
predicted_SO1.18201.21301.1954model_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 date502
Season rows before report date502
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
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_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_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_STL@MIL
game_typefull
mlbID669003
playerID669003
playerNameGarrett Mitchell
posCF
startedTrue
startingPositionCF
teamMIL
teamID16
game_date2026-09-27
sl_k_percent31.5
sl_bb_percent11.3
sl_woba0.34
sl_xwoba0.353
sl_xba0.268
sl_xslg0.447
sl_sweet_spot_percent31.5
sl_barrel_batted_rate11.7
sl_hard_hit_percent52.7
sl_exit_velocity_avg93.2
sl_launch_angle_avg2.2
sl_whiff_percent35.8
sl_swing_percent43.9
Jacob Misiorowski (694819) · PITCHER · Starter · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 30
All-history rows before 20261003: 30

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB4.0004.0004.000Pitching_BB1.4672.0002.5332.000
predicted_ER1.0001.0001.000Pitching_ER1.1670.000-0.1671.000
predicted_H4.0004.0004.000Pitching_H3.2002.0000.8002.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.7835.1000.2170.900
predicted_SO6.0006.0006.000Pitching_SO8.4005.000-2.4001.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_SO: 4.0000 -> 6.0000 (boost 2.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better)-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": "694819",
  "player_name": "Jacob Misiorowski",
  "position": "Starter",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 1.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 6.0,
        "delta": 2.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 6.0,
        "delta": 2.0,
        "percent_delta": 0.5,
        "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_BB4.000-
predicted_ER1.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO4.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_BB4.0000.000
predicted_ER1.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO6.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.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45523.2006.00017.0009.00030.0001.0002.28171.09860.25350.71830.38031.26760.0423
last_100.351054.20014.00034.00016.00067.0004.0002.30490.91460.25610.62200.29271.22560.0732
season0.2030174.20035.00096.00044.000252.00014.0001.80340.80150.20040.54960.25191.44270.0801
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7350
predicted_ER1.4750
predicted_ERA2.5393
predicted_H3.6520
predicted_HR0.3820
predicted_IP5.1000
predicted_SO6.4690
predicted_WHIP1.0303
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB4.00001.73502.6645model_form_blend
predicted_ER1.00001.47501.2801model_form_blend
predicted_ERA-2.53932.5393form_only
predicted_H4.00003.65203.7948model_form_blend
predicted_HR0.00000.38200.2252model_form_blend
predicted_IP6.00005.10005.2000model_form_blend
predicted_SO4.00006.46905.4558model_form_blend
predicted_WHIP-1.03031.0303form_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.0
H4
R1
ER1
BB4
SO6
HR0
BF26
Pitches116

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 Faced19
Pitching_ER0
Pitching_ERA1.80
Pitching_Flyouts3
Pitching_Groundouts3
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches68
Pitching_R0
Pitching_SO5
Pitching_Strikes44
Pitching_Wild Pitch1
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260927_STL@MIL
game_typefull
mlbID694819
playerID694819
playerNameJacob Misiorowski
posP
startedTrue
startingPositionP
teamMIL
teamID16
game_date2026-09-27
sl_k_percent37.9
sl_bb_percent6.6
sl_woba0.216
sl_xwoba0.226
sl_sweet_spot_percent33.9
sl_barrel_batted_rate3.6
sl_hard_hit_percent33.3
sl_whiff_percent37.3
sl_swing_percent51.3
sl_avg_best_speed76.498458531
sl_avg_hyper_speed92.952685282
Aaron Ashby (676879) · PITCHER · Middle Reliever (High Leverage) · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 75
All-history rows before 20261003: 75

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5470.000-0.5470.000
predicted_ER2.0002.0002.000Pitching_ER0.4130.0001.5872.000
predicted_H3.0003.0003.000Pitching_H1.0130.0001.9873.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0952.000-0.095-1.000
predicted_SO0.0000.0000.000Pitching_SO1.5472.000-1.547-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": "676879",
  "player_name": "Aaron Ashby",
  "position": "Middle Reliever (High Leverage)",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_ER2.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: 75
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0002.0003.0002.0007.0001.0002.25000.62500.25000.37500.25000.87500.1250
last_100.351012.1004.00010.0004.00011.0002.0002.91891.13510.32430.81080.32430.89190.1622
season0.207589.10031.00076.00041.000116.0008.0003.12311.30970.34700.85080.45901.29850.0896
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4570
predicted_ER0.4720
predicted_ERA3.0754
predicted_H0.9660
predicted_HR0.1860
predicted_IP1.1000
predicted_SO1.3230
predicted_WHIP1.0308
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.45700.2558model_form_blend
predicted_ER2.00000.47201.1447model_form_blend
predicted_ERA-3.07543.0754form_only
predicted_H3.00000.96601.8615model_form_blend
predicted_HR0.00000.18600.1041model_form_blend
predicted_IP1.00001.10001.2000model_form_blend
predicted_SO0.00001.32300.7406model_form_blend
predicted_WHIP-1.03081.0308form_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 date75
Season rows before report date75
Report year2026
Profile rows used75
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R2
ER2
BB0
SO0
HR0
BF6
Pitches26

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_ERA3.12
Pitching_Flyouts1
Pitching_Groundouts3
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches26
Pitching_R0
Pitching_SO2
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260926_STL@MIL
game_typefull
mlbID676879
playerID676879
playerNameAaron Ashby
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-09-26
sl_k_percent30.3
sl_bb_percent10.7
sl_woba0.287
sl_xwoba0.268
sl_sweet_spot_percent28.1
sl_barrel_batted_rate4.9
sl_hard_hit_percent40.2
sl_whiff_percent32.1
sl_swing_percent40.5
sl_avg_best_speed76.20475045
sl_avg_hyper_speed94.447155135
Abner Uribe (682842) · PITCHER · Setup Man · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 61
All-history rows before 20261003: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3110.000-0.3110.000
predicted_ER0.0000.0000.000Pitching_ER0.2130.000-0.2130.000
predicted_H2.0002.0002.000Pitching_H0.6891.0001.3111.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9001.0000.1000.000
predicted_SO0.0000.0000.000Pitching_SO1.0161.000-1.016-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": "682842",
  "player_name": "Abner Uribe",
  "position": "Setup Man",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.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": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 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": 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_H2.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: 61
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.0005.0000.0006.0000.0000.00001.00000.00001.00000.00001.20000.0000
last_100.35109.0002.00010.0001.00011.0000.0002.00001.22220.22221.11110.11111.22220.0000
season0.206159.10013.00042.00019.00062.0003.0001.97191.02810.21910.70790.32021.04490.0506
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1830
predicted_ER0.2350
predicted_ERA2.1145
predicted_H0.9820
predicted_HR0.0500
predicted_IP1.0000
predicted_SO1.1060
predicted_WHIP1.1647
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.18300.0965model_form_blend
predicted_ER0.00000.23500.1239model_form_blend
predicted_ERA-2.11452.1145form_only
predicted_H2.00000.98201.4631model_form_blend
predicted_HR0.00000.05000.0264model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.10601.5285model_form_blend
predicted_WHIP-1.16471.1647form_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 date61
Season rows before report date61
Report year2026
Profile rows used61
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
SO0
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 Faced4
Pitching_ER0
Pitching_ERA1.97
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_STL@MIL
game_typefull
mlbID682842
playerID682842
playerNameAbner Uribe
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-09-25
sl_k_percent26.5
sl_bb_percent8.1
sl_woba0.239
sl_xwoba0.26
sl_sweet_spot_percent27.0
sl_barrel_batted_rate2.0
sl_hard_hit_percent34.9
sl_whiff_percent26.8
sl_swing_percent43.0
sl_avg_best_speed76.721875867
sl_avg_hyper_speed93.478825705
Trevor Megill (656730) · PITCHER · Closer · Team MIL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261003: 63
All-history rows before 20261003: 63

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2380.000-0.2380.000
predicted_ER1.0001.0001.000Pitching_ER0.2860.0000.7141.000
predicted_H1.0001.0001.000Pitching_H0.6351.0000.3650.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9601.0000.0400.000
predicted_SO1.0001.0001.000Pitching_SO1.0951.000-0.0950.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": "656730",
  "player_name": "Trevor Megill",
  "position": "Closer",
  "team": "MIL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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.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_ER1.000-
predicted_H1.000-
predicted_HR1.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: 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.0002.0003.0000.0006.0000.0003.60000.60000.40000.60000.00001.20000.0000
last_100.35109.1005.00010.0001.00012.0001.0004.82141.17860.53571.07140.10711.28570.1071
season0.206261.20014.00038.00015.00069.0001.0002.04320.85950.22700.61620.24321.11890.0162
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1690
predicted_ER0.4410
predicted_ERA3.9683
predicted_H0.8290
predicted_HR0.0710
predicted_IP1.0000
predicted_SO1.1350
predicted_WHIP0.9981
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.16900.0897model_form_blend
predicted_ER1.00000.44100.7033model_form_blend
predicted_ERA-3.96833.9683form_only
predicted_H1.00000.82900.9092model_form_blend
predicted_HR1.00000.07100.5070model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.13501.0716model_form_blend
predicted_WHIP-0.99810.9981form_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 date63
Season rows before report date63
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
H1
R1
ER1
BB0
SO1
HR1
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.63
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260925_STL@MIL
game_typefull
mlbID656730
playerID656730
playerNameTrevor Megill
posP
startedFalse
startingPositionP
teamMIL
teamID16
game_date2026-09-25
sl_k_percent28.5
sl_bb_percent6.2
sl_woba0.208
sl_xwoba0.252
sl_sweet_spot_percent28.7
sl_barrel_batted_rate6.4
sl_hard_hit_percent42.0
sl_whiff_percent30.5
sl_swing_percent54.0
sl_avg_best_speed81.208537368
sl_avg_hyper_speed94.306671184